묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2(구 버전)
ValueError: array length 2482 does not match index length 3500제가 안보고 풀어봤는데 이런 에러가 뜨는건 무슨 이유일까요..밑에는 제가 작성한 코드입니다. # 5. 평가까지 잘 돌아가다가 # 6. 제출 부분 작성하니깐 갑자기 저런 오류가 뜨네요 ㅠㅠ.. 제 코드 중에 어느 부분이 잘못된 걸까요.. # 2. 전처리 # 2-1. 결측치 처리 # print(X_train.isnull().sum()) X_train['환불금액'] = X_train['환불금액'].fillna(0) X_test['환불금액'] = X_test['환불금액'].fillna(0) # 2-2. object 컬럼 라벨인코딩 from sklearn.preprocessing import LabelEncoder cols = ['주구매상품', '주구매지점'] le = LabelEncoder() for col in cols : X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col]) # 2-3. 불필요한 컬럼 삭제 X_train = X_train.drop(columns = 'cust_id') X_test = X_test.drop(columns = 'cust_id') test_id = y_train.pop('cust_id') # 3. 분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train['gender'], test_size = 0.2, random_state = 2022) # 4. 학습 from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(random_state = 2022) model.fit(X_tr, y_tr) pred = model.predict_proba(X_val) # 5. 평가 from sklearn.metrics import roc_auc_score # print(roc_auc_score(y_val , pred[:, 1])) # 6. 제출 pred = model.predict_proba(X_test) pd.DataFrame({'custid' : test_id, 'gender' : pred[:,1]}).to_csv('00000.csv', index = False) # print(pd.read_csv('00000.csv'))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
윌콕슨 부호순위 검정 질문입니다
수업 9분 53초 부근,stats.wilcoxon(df['무게']-120 까지는 이해했습니다.뒷부분에 alternative = 'less' 라고 적으셨는데, 왜 양측검정이 아닌 단측검정(낮은쪽)을 진행하는건지 궁금합니다!대립가설이 '평균 무게는 120g보다 작다'여서 그런건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀분석 예측값 신뢰/예측구간 구하기
안녕하세요, 선생님항상 빠른 답변 감사합니다. 다름 아니라 단순선형회귀 분석할때예측키에 대한 신뢰구간, 예측구간을 구할경우아래와 같이 DataFrame을 작성하는데데이터 프레임 안에 딕셔너리 형태로 예측값을 넣을경우그냥 50이라는 숫자 말고, [50] 대괄호를 쳐야되는 이유가 있을까요?newdata = pd.DataFrame({'몸무게':[50]}) 2유형 마지막 단계에 파일저장할 때처럼대괄호 없이 '50'이라는 값만 입력해봤는데 당연히 오류 납니다.ValueError: If using all scalar values, you must pass an index
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이원분산 분석에서 범주형 데이터 처리 질문드립니다.
앞에 대문자 C를 붙여주는 이유가 수치형 데이터로 바꿔주기 위함 아닌가요..??그렇다면 비료는 11, 12, 13으로 수치형인데 C를 붙여주는 이유가 궁금합니다..!! 아니면 정확히 모르겠다 싶을때 그냥 상관없이 독립변수들 앞에 전부다 C를 붙여줘도 괜찮은건가요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회 작업형 2유형 문의 드립니다.
안녕하세요! 강의 잘 듣고 있습니다. 많은 도움을 주셔서 진심으로 감사드립니다.결과 제출을 위한 데이터프레임 생성 시 아래와 같은 오류가 있어 문의 드립니다.위와 같이 list object is not callable이라는 오류가 뜹니다.X_test['ID'] 또한 동일한 list 형태이나 이는 오류가 뜨지 않습니다.array 형태를 .tolist() 해도 동일 오류가 발생합니다.답변 부탁드립니다.감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
사후검정 질문드립니다.
투키와 본페르니가 있는데 본페르니가 더 정확성이 높다고 하셨는데 그렇다면 본페르니만 사용해도 되는거 아닐까요...?? 굳이 투키를 사용하는 이유가 있는지 궁금합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
ANOVA 테이블 결과표 문의드립니다!
안녕하세요! 이 결과표에서 variable 과 Residual 의 두개의 행이 있는데 검정통계량과 pvalue 값은 7.296 / 0.0006 인건 알겠습니다!근데 만약 문제에서 자유도랑 잔차제곱합 그리고 평균제곱합을 묻는다면variable 은 어떤 것의 행이고Residual 은 어떤 행인지 몰르겠는데 알려주실 수 있을까요? 어떤 행의 값을 답으로 제출해야될지...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
사후검정 tukey 검정 결과 출력 문의
안녕하세요, 선생님 tukey 검정 결과를 출력하기 위해 print문으로 변수만 출력하거나 변수에 summary()해서 출력하나 결과값 차이는 없는 거 같은데, 일원분석 강의시에는 summary()로 출력,이원분석 강의시에는 변수로 출력하셔서 차이점이 있는지 문의드립니다. from statsmodels.stats.multicomp import pairwise_tukeyhsd tukey_result1 = pairwise_tukeyhsd(df['토마토수'], df['종자']) tukey_result2 = pairwise_tukeyhsd(df['토마토수'], df['비료'].astype(str)) print(tukey_result2.summary()) print(tukey_result2)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
random_state 는 시험장에서 써야하나요?
train_test_split 혹은 모델 구축할 때 random_state를 사용하는 것으로 배웠는데, 이것도 시험장에서는 써야할까요? 기초적인 질문 죄송합니다 ㅠㅠ 시험이 다가오니 사소한 것도 확인하고 싶네요 ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
섹션5 모의문제3번
IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed - 이런 오류가 뜨는데 어떤 문제일까요..? 아래는 제가 풀이한 방식입니다. # 2. 전처리# 2-1. 불필요한 컬럼 제거train = train.drop(columns = ['id'])test_id = test.pop('id') # 3. 분리from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train.drop(columns = 'output'), train['output'], test_size = 0.2, random_state = 2022)# X_tr.shape, X_val.shape, y_tr.shape, y_val.shape # 4. 학습from sklearn.ensemble import RandomForestClassifiermodel = RandomForestClassifier(random_state = 2022, max_depth = 5, n_estimators = 400)model.fit(X_tr, y_tr)pred = model.predict(X_val)pred_proba = model.predict_proba(X_val) # 5. 평가from sklearn.metrics import accuracy_score, roc_auc_scoreaccuracy_score(y_val, pred)roc_auc_score(y_val, pred_proba[:, 1]) # 6. 결과pred_proba = model.predict(test)pd.DataFrame({'id' : test_id, 'output' : pred_proba[:,1]}).to_csv('00000.csv', index = False) # pd.read_csv('00000.csv') 또한 제가 다른 방법으로 풀었을 때 이렇게 나오는건 왜이런걸까요..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
로지스틱 회귀 모형 문제에서 질문 드립니다.
예전에 문제를 풀 땐 별 생각이 없었는데 다시 보니 Pclass를 꼭 범주형으로 지정할 이유가 있을까요? 클래스가 등급이면 수치형으로 봐도 되지 않을까요?from statsmodels.formula.api import logitmodel = logit('Survived ~ C(Pclass) + Gender + SibSp + Parch', data=df).fit()model.params['Parch'] 다시 풀어보니 실제 문제에서 저렇게 나온다면 범주형으로 지정해야할지 수치형으로 그대로 둘지 결정하기 애매할 것 같아서 여쭤봅니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
초초보를 위한 전처리 인코딩 가이드 너무 너무 감사합니다.
시험 앞두고 이런 뽀나스 영상이 정말 큰 힘이 됩니다!! ^^ 감사합니다. 작업형 3유형 ...도 필승전략.. 알려주심 너무나 감사하겠습니다. ㅜㅜ 더 많은 것을 원해서 죄송함돠 ㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실험환경 메모장에서 ctrl+f 제컴퓨터에서는 됩니다.
dir 기능 활용 해서 메모장에 담고 ctrl+f 찾아 보니 검색이 됩니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형 코드
col_id = ['id'] col_num = ['Age','Work_Experience','Family_Size'] col_cat = ['Gender','Ever_Married','Graduated','Profession','Spending_Score','Var_1'] col_y = ['Segmentation'] from sklearn.preprocessing import StandardScaler scaler = StandardScaler() train[col_num] = scaler.fit_transform(train[col_num]) test[col_num] = scaler.transform(test[col_num]) from sklearn.preprocessing import LabelEncoder le = LabelEncoder() for col in col_cat: train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train[col_cat + col_num], train['Segmentation'], test_size = 0.3, random_state = 123 )수업내용을 제가 편한 방식으로 조금 바꿔봤는데 이런 식으로 스케일링이랑 인코딩 진행해도 문제없을까요?아래 내용으로 계속 진행했을때 결과는 나오는데 제대로 한게 맞는지 잘 모르겠습니다...from sklearn.ensemble import RandomForestClassifier RF = RandomForestClassifier(n_estimators=300, max_depth =9 ,random_state = 123) RF.fit(X_tr, y_tr) pred = RF.predict(X_val) import lightgbm as lgb lgb = lgb.LGBMClassifier(learning_rate = 0.02, n_estimators = 400, max_depth = 5, random_state=123) lgb.fit(X_tr, y_tr) pred = lgb.predict(X_val) from sklearn.metrics import f1_score print(f1_score(y_val, pred, average = 'macro')) pred = RF.predict(test[col_cat + col_num]) pred submit = pd.DataFrame({ 'ID': test.ID, 'Segmentation': pred }) submit.to_csv("result.csv", index=False)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
다중회귀에서 잔차를 resid로 구하셨는데 ..
단순선형회귀 잔차도 역시(model.resid**2).mean() 로 구하면 되나요 ?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2(신버젼)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요레이블 인코딩을 사용하면 잘 작동하는데 원핫 인코딩을 사용하면 에러가 뜨네요 혹시 이유가 컬럼갯수가 너무 많아져서 그런거일까요?ValueError: X has 72 features, but DecisionTreeClassifier is expecting 73 features as input.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
섹션5 작업형2 모의문제1
제출하기 전에 출려해 보니 값이 이렇게 나왔는데 이렇게 나와도 괜찮은 걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2번 채점기준
분류에서 roc_auc_score회귀에서 mse 등 자체적으로 검증데이터 평가 진행 시 각 평가지표 별로 몇점 이상 나와야지 40점 만점 획득 가능할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2(신 버전) 제출값 궁금합니다
예시문제 작업형2(신 버전) 제출csv 팡리 형식 예시를 보면pred컬럼에 0또는 1이 있는데1(남자)일 확률 (0.xx)로 제출하는 것이 헷갈립니다...정확하게 확률로 구하는거였으면 형식 예시를 다르게 보여줘야하는게 아닌가해서요 문제가 정확하지않는건지아니면 roc-auc 문제는 '양수'를 택했을 때 확률을 구하는건지 알려주세요~
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
(체험)제2유형 튜닝
우선 선생님 강의 매우 잘 듣고 있습니다. 공부하는데 너무 큰 도움 주셔서 감사합니다.(체험)제2유형 질문 드립니다.roc-auc-score 결과값이 모델 튜닝을 이것저것 해보아도 0.6을 넘지 못하네요. =============================================================import pandas as pdtrain = pd.read_csv("data/customer_train.csv")test = pd.read_csv("data/customer_test.csv")# print(train.describe())# # 사용자 코딩 # target 성별pd.set_option("display.max_columns", None)# train = train.drop(["회원ID", "환불금액"], axis=1)# test = test.drop(["회원ID","환불금액"],axis=1)train['환불금액'] = train['환불금액'].fillna(0)test['환불금액'] = test['환불금액'].fillna(0)train = train.drop(["환불금액"], axis=1)test = test.drop(["환불금액"],axis=1)# print(train.head(2))n_list = ['총구매액', '최대구매액', '방문일수', '방문당구매건수', '주말방문비율', '구매주기']# from sklearn.preprocessing import RobustScalerfrom sklearn.preprocessing import StandardScaler# scaler = RobustScaler()scaler = StandardScaler()train[n_list] = scaler.fit_transform(train[n_list])test[n_list] = scaler.transform(test[n_list])cols = ["주구매상품", "주구매지점"]from sklearn.preprocessing import LabelEncoderfor col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) target = train.pop("성별") from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=2022)from sklearn.ensemble import RandomForestClassifierrf = RandomForestClassifier(random_state=20, max_depth=5, n_estimators=500)rf.fit(X_tr, y_tr)pred = rf.predict(X_val)from sklearn.metrics import roc_auc_scoreresult = roc_auc_score(y_val, pred)print(result)===============================================================작성 코드인데, 어떤걸 추가 해야 결과값이 더 좋을수 있을까요?