묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 작2
from sklearn.metrics import mean_squared_errormse=mean_squared_error(y_val,pred)rmse=mse**0.5rmse(y_val,pred) 이렇게 쳤더니 TypeError Traceback (most recent call last) <ipython-input-71-c64d244aa8ba> in <cell line: 1>() ----> 1 rmse(y_val,pred) TypeError: 'numpy.float64' 에러가 나오네요ㅜ 왜그런가요?from sklearn.metrics import mean_squared_errormse=mean_squared_error(y_val,pred)rmse=mse**0.5rmse이렇게 치면 애러 안나오고 값이 출력되요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2(신 버전)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요문제 지문에서알려주는 제출 CSV 파일 형식은 0, 1, 1, 0 ... 이런 predict 결과값인데0.11385 와 같이 predict_proba 확률값으로 결과를 제출해도 괜찮은 이유가 궁금합니다!roc_auc가 predict_proba 로 해야한다면 predict_proba로 모형 성능테스트를 하고 제출은 predict로 해야하는 것이 아닌가... 라는 의문이 들어서 문의드립니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 작업형 2번 풀이 질문있습니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요import pandas as pdtrain = pd.read_csv("train.csv")test = pd.read_csv("test.csv")# EDA# train.shape,test.shape# train.head()# train.info()# train.describe()# train.isnull().sum()# test.isnull().sum()# train['Segmentation'].value_counts()# train.describe(include='object') # 피쳐링# from sklearn.preprocessing import MinMaxScaler# cols = ['Age','Work_Experience','Family_Size']# scaler = MinMaxScaler()# train[cols] = scaler.fit_transform(train[cols])# test[cols] = scaler.transform(test[cols])# train[cols].head() train = pd.get_dummies(train)test = pd.get_dummies(test) train = train.drop('ID',axis=1)test_id = test.pop('ID')# train.head() # 검증데이터from sklearn.model_selection import train_test_splitX_tr,X_val,y_tr,y_val = train_test_split(train.drop('Segmentation',axis=1),train['Segmentation'],test_size=0.15,random_state=2023)# X_tr.shape,X_val.shape,y_tr.shape,y_val.shape # 랜덤포레스트from sklearn.ensemble import RandomForestClassifiermodel = RandomForestClassifier(random_state=2023,max_depth=8,n_estimators=800)model.fit(X_tr,y_tr)pred = model.predict(X_val) # 예측 및 평가from sklearn.metrics import f1_scoreprint(f1_score(y_val,pred,average='macro')) # 제출pred = model.predict(test)submit = pd.DataFrame({ 'ID':test_id, 'Segmentation':pred})submit.to_csv("submission.csv",index=False)# pd.read_csv("submission.csv") 수치형 데이터를 스케일링 하는 경우는 언제인가요?(minmaxscaler등을 이용하는 것)범주형 데이터 라벨 인코딩이나, 원핫인코딩 둘 중 아무거나 써도 상관없을까요?예측할 때 값이 0.7이상은 나와야 했던거 같은데 너무 작게 나오는데 괜찮나요?급하게 공부하느라 전체적인 틀을 외워서 작성하고 있는데 이정도 작성할 수 있으면 괜찮을까요? 제출하기 전에 csv생성하는 것을 제외한 모든 print문은 주석처리 해야되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요roc_auc_score만 확률predict_proba로 계산이 가능한가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2(신버전) EDA 소형가전
안녕하세요! 다름이 아니라, 예시문제 작업형2(신버전) 강의를 보다가 , unique() 사용해서 Data중에 '소형가전'이 Train, Test가 다르다는 걸 알려주셨는데. 이후에 별 조치가 없는거같아서 혹시 이런 경우에는 별도의 전처리를 진행하나요? 아니면 그냥 동일하게 LabelEncoding만 하는거인지 궁금합니다!!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 5회에서 보면 원핫 인코딩 get_dummies 사용시
범주형 데이터만 별도로 나누고 해주지 않고 전체 데이터로 해 주시던데 아직 초초보... 적응 단계라 get_dummies는 전체 데이터를 두고 해 줘도 되는 건가요? 시험이 몇 일 안 남아서 초조하고.. 과연 제가 할 수 있을까 계속 불안감이 드네요 ^^;;;;
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RandomForestRegressor() 그럼 여기에서도
random_state=0 모 이런식으로 고정값을 넣어 주는게 좋겠네요 ^^
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
오류
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요from sklearn.ensemble import RandomForestRegressormodel = RandomForestRegressor()model.fit(X_tr, y_tr)pred=model.predict(X_val) pd.DataFrame({'id':test_id, 'output':pred}).to_csv('00100.csv',index=False) ValueError: array length 5868 does not match index length 9779길이가 다른경우 어떻게 해결하여야 하나요? 강의 따라하는데 강의에서는 문제가 없는데 왜 그럴까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실제시험
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요베이스라인 - 레이블 - 원핫 실제 시험에서 저렇게 하기에는 복잡해서 실수를 할 거 같아서 익숙한 레이블만 사용하려고 하는데 괜찮을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기울기 절편
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 회귀계수를 찾을때 기울기와 절편값이 각각 ‘몸무게’ ‘intercept’인줄 어떻게 아시는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출유형(작업형2) 오류 질문
라벨 인코딩을 진행해서 결과를 출력하고, 원핫 인코딩으로 변경해서 진행하려는데, 랜덤포레스트 학습 시 아래와 같은 오류가 나는데, 원인을 모르겠습니다. 타입 변환 오류인데, 라벨 인코딩 할땐 안나고 원핫 인코딩 진행 시 오류가 나네요. 뭐가 문제인건지 확인 부탁드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test.pop
1. 작업형2 모의문제2 강의에서 test_id=test.pop('id') 를 하셨는데 .pop 함수에 대해 알려주세요~test에서 id를 drop 하고 test_id를 별도로 저장한 후 결과값(pred)을 test_id와 concat해서 제출해도 되는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
패키지 호출 시 문의 드립니다
질문 그대로 입니다. 대표적으로 sklearn아래 많은 패키지로 분석을 진행하게 되는데모두 암기하는것에 부담도 있어서 from sklearn만하게 되었을때 문제가 생길만한게 있을지 궁금해서 문의 드립니다. 예를들면from sklearn import *와 같이 사용해도 무방한것인가 입니다. 근데 글을 작성하다보니 어차피 분석때 사용할 것이면 외워야할것도 같기도 하네요 ㅜㅜ대신 위 예시처럼 하게 되면 메소드명만 외우면 될 것 같다는 생각이 있었습니다 항상 감사드립니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
오류
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 회귀 부분에서 pred = model.predict(test) 돌렸더니 The feature names should match those that were passed during fit. Feature names unseen at fit time: - region - sex - smoker Feature names seen at fit time, yet now missing: - region_northeast - region_northwest - region_southeast - region_southwest - sex_female - ... 이런 오류가 나타납니다....
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업2유형 피처엔지니어링 문의
안녕하세요, 선생님매번 감사합니다. 다름 아니라 오픈된 다른 유형의 문제를 풀이해보고 있는데요. 아래 해당 train/test 데이터셋의 경우 원핫인코딩 이후 랜덤포레스트 모델링 예측시 에러가 발생하길래 확인해보니,train의 object형 데이터의 unique한 갯수(gender 컬럼의 값이 3개)와test의 object형 데이터의 unique한 갯수(gender 컬럼의 값이 2개)가 다르더라고요 이럴경우 train과 test를 합쳐서(Concat)피처 엔지니어링해야된다고 배운 거 같은데 각각 train/test 피처 엔지니어링하고,train_test_split 과정에서 train할 데이터를 선택할 때 unique 갯수 차이로 1개더 생성된 'gender_Other'라는 컬럼을 drop시키고 데이터 분리, 모델링 진행해도 평가받을때 문제없을까요?train.drop(['stroke', 'gender_Other'] ㅇ 전체 코import pandas as pd train= pd.read_csv('https://raw.githubusercontent.com/Datamanim/datarepo/main/stroke_/train.csv') test= pd.read_csv('https://raw.githubusercontent.com/Datamanim/datarepo/main/stroke_/test.csv') test_id = test.pop('id') train = train.drop('id', axis=1) train['age'] = train['age'].str.replace('\*', '').astype('int') train = pd.get_dummies(train) test = pd.get_dummies(test) train['bmi'] = train['bmi'].fillna(train['bmi'].median()) test['bmi'] = test['bmi'].fillna(test['bmi'].median()) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train.drop(['stroke', 'gender_Other'], axis=1), train['stroke'], test_size=0.15, random_state=0) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(max_depth=5, random_state=0) rf.fit(X_tr, y_tr) pred = rf.predict_proba(X_val) from sklearn.metrics import roc_auc_score print(roc_auc_score(y_val, pred[:,1])) pred = rf.predict_proba(test) pd.DataFrame({ 'id' : test_id, 'stroke' : pred[:,1] }).to_csv('0000.csv', index=False)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작2 전처리 과정 질문
작업형 2 전처리작업 하실때 결측값이 범주형+수치형 섞여있는 경우에는 수치형만 결측값을 처리하고 범주형은 데이터가 많은 경우 그냥 버리시던데 결측값이 없는 데이터도 버리시더라고요 eda진행했을때 데이터가 너무 많은 것은 버리면성능이 좋아지나요? 루틴을 만드려고 하는데 결측값이 범주형+수치형 있는경우 범주형은 드랍 ,수치형은 0으로 대체 결측치가 있는건 아니지만 범주형 데이터 중 데이터수가 많은 경우도 드랍 결측치도 없고 데이터수가 많지 않은 범주형 데이터는 라벨인코딩으로 수치형으로변환 이렇게 하면 괜찮을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형3을 할 때 언제 formula를 정의해야 하나요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요예시문제 작업형3(신 버전) 2번, 6회 기출유형(작업형3) Q2-1을 보면서, formula 값을 언제 지정해야하는지 궁금하여 질문드립니다. <예시문제 작업형3(신 버전) 2번>Gender, SibSp, Parch, Fare를 독립변수로 사용하여 로지스틱 회귀모형을 실시하였을 때, Parch 변수의 계수값은? (반올림하여 소수 셋째 자리까지 계산) #2. print(df[['Gender', 'SibSp', 'Parch', 'Fare']].head(3)) from statsmodels.formula.api import logit model = logit("Survived ~ C(Gender) + SibSp + Parch + Fare", data=df).fit() print(model.summary()) print(round(-0.2007,3)) # -0.201여기에는 formula를 따로 정의하지 않았고, <6회 기출유형(작업형3) Q2-1>다중 선형 회귀 모델을 구축하고, 독립변수 o3의 회귀계수를 구하시오.독립변수: solar(태양 에너지), wind(바람의 세기), o3(오존 농도)종속변수: temperature(온도) from statsmodels.formula.api import ols formula = "temperature ~ solar + wind + o3" model = ols(formula, data=df).fit() print(model.summary()) # 0.0749 model.params['o3'] 여기에서는 formula를 정의하였습니다. ㅠㅠ 둘이 뭔 차이길래 그런지 잘 모르겠습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제2
rmse평가 작성할때 강사님과 다르게 이렇게 적었는데가능한가요?(문제에서 rmse로 평가하시오 라고 되어있을때밑에처럼 적으면 rmse로 평가가 가능한거죠..?) from sklearn.ensemble import RandomForestRegressor model=RandomForestRegressor() model.fit(X_tr,y_tr) pred=model.predict(X_val)from sklearn.metrics import mean_squared_error mse=mean_squared_error(y_val,pred) rmse=mse**0.5
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
오류
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 X_train.corr() 실행시 ValueError: could not convert string to float: 'State-gov' 오류 뜹니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
6회 기출 유형(작업형2)에서 데이터 전처리 질문드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요6회 기출 유형 작업형2에서 왜 target값은 원핫인코딩을 하지 않은 것인가요?즉,# target컬럼 처리 target = train.pop('Heat_Load') # 원핫 인코딩(판다스) print(train.shape, test.shape) train = pd.get_dummies(train) test = pd.get_dummies(test) print(train.shape, test.shape) 제 생각엔, 제출 형식이 숫자가 아니라, 'very low' 이런 형식이라서 타겟값은 데이터 전처리를 하지 않은 것인가요? pred Very Low Low High ... Very High