묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
종속,독립의 구분
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요! 열심히 한강의씩 듣고있는 수강생입니다.항상 너무 자세히 설명도 너무 잘 해주셔서 감사합니다.일원분산분석 수강중 melt를 진행하고 이렇게 나온것까지는 이해가 됐습니다! 혹시 분산분석테이블에서 ols를 할 때 종속, 독립을 넣어야하는데 어떻게 구분해야할지가 문득 궁금해져서 질문을 남기게 되었습니다..! 보통은 맨 우측에있는 부분을 종속변수로 알면 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
파이썬기초2 문자열변경 - 여러단어 변경 관련 문의
#text= text.replace("파이썬", "머신러닝").replace("분석기사", "분석을 위한") 에서여러단어 변경 시 유의사항으로 앞에서 부터 실행돼서 파이썬부터 머신러닝으로 바꿔야 한다고 말씀하셨는데 앞에서 부터 실행되면 분석기사부터 바꿔야되는 거 아닌가요?왜냐면 text = 빅데이터 분석기사 파이썬 공부 순이라서.앞에서 부터 실행된다는게 분석기사부터 바뀌는게 아닌가 하는 생각이 들어서 여쭤봅니다. #text= text.replace("분석기사", "분석을 위한").replace("파이썬", "머신러닝") 으로 바꿔서 실행해보니'빅데이터 분석을 위한 머신러닝 공부' 라는 값이 도출됩니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출8회 작업형2 원핫인코딩으로 하면 자꾸 오류가 나요 ㅠ
어디가 문제일까요? ㅠㅠ 라벨인코딩이 너무 어렵게 느껴져서 원핫인코딩만 외웠는데 적용이 힘드네요 도와주세요~~
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
일주일전 준비 시작분들위한 정리자료
각 작업형 끝에 캐글 문제 풀이 적혀있는데 이건 어디서 푸는걸까요? 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
rf = RandomForestClassifier(random_state=0)
rf = RandomForestClassifier(random_state=0) 여기서 random_state를 꼭 해줘야 하나요? 이제까지는 안했던거 같아서요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회사 PC로 구글드라이브 접속이 안되어서...
혹시 학습용 CSV 파일을 메일로 받아볼수 있을까요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
원핫 인코딩 concat
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 import pandas as pdtrain = pd.read_csv("data/customer_train.csv")test = pd.read_csv("data/customer_test.csv")# print(train.shape,test.shape) #2482# print(train.info(),test.info())# print(train.isnull().sum()) # 결측값 존재함# print(test.isnull().sum()) # 결측값 존재함# 전처리train = train.fillna(0)test =test.fillna(0)# print(train.isnull().sum())# print(test.isnull().sum())target = train.pop('성별')df= pd.concat([train,test])df = pd.get_dummies(df)train = df.iloc[:len(train)]test = df.iloc[len(train):]print(train.shape,test.shape)# 모델 분리 및 검증 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=22)# print(X_tr.shape,X_val.shape,y_tr.shape,y_val.shape)# 모델 학습 from sklearn.ensemble import RandomForestClassifierrf = RandomForestClassifier(random_state=22)rf.fit(X_tr,y_tr)pred = rf.predict_proba(X_val)# 결과 pred = rf.predict_proba(test)submit = pd.DataFrame({'pred':pred[:,1]})submit.to_csv('result.csv',index=False)print(pd.read_csv('result.csv').head())print(pd.read_csv('result.csv').shape) #2482 이 식으로 풀어도 될까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
스케일링 관련
안녕하세요 선생님작업형 2유형에서 스케일링, 로그변환 등을 꼭 해야하는걸까요?말씀하신 기본 베이스라인으로만 머신러닝 진행하고 제출 시에 문제 되는 부분이있을까해서요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
원핫 인코딩
pd.get_dummies(train, columns = cols) pd.get_dummies(train[cols]) 이 둘의 차이는 단순하게 원핫 인코딩 한것만 보여주는지 전부 다 보여주는지의 차이 같은데요, 아래 걸로 해도 상관 없나요..?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
pred_proba[:,1] 오류
from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(random_state = 0, max_depth = 3, n_estimators = 200) model.fit(X_tr, y_tr) pred_proba = model.predict_proba(X_val) from sklearn.metrics import roc_auc_score print(pred_proba) print(roc_auc_score(y_val, pred_proba[:, 1]))안녕하세요,모델학습 후 검증하려고 하니 print(roc_auc_score(y_val, pred_proba[:, 1]))에서 아래와 같은 오류가 발생합니다.list indices must be integers or slices, not tuple 혹시 pred_proba의 형태에 문제가 있어서 그러나 출력해봤더니 아래처럼 array가 2개가 뜨는데 원래 출력되던 값이랑 다른 것 같기도 한데 어떤 부분이 잘못된걸까요..?[array([[6.17771951e-04, 3.90720727e-04, 5.61044129e-04, ..., 1.88014875e-05, 2.71602426e-05, 9.26113606e-05], [4.72241735e-04, 7.55194719e-04, 3.70085375e-04, ..., 7.58005053e-06, 2.24283166e-05, 3.95537961e-05], [2.06135825e-05, 1.04454196e-05, 1.96540881e-06, ..., 2.93436306e-05, 1.84382330e-05, 6.98070487e-05], ..., [2.26718012e-05, 2.39307053e-05, 1.96540881e-06, ..., 3.02043842e-05, 1.54553261e-05, 6.62548451e-05], [1.51536674e-05, 2.15648698e-05, 2.06815630e-06, ..., 4.15875993e-05, 3.06270026e-05, 3.26545900e-05], [2.84102759e-05, 1.47138847e-05, 6.29396294e-06, ..., 3.17093190e-05, 1.71020727e-05, 4.92247989e-05]]), array([[0.05156594, 0.94843406], [0.0402204 , 0.9597796 ], [0.54197093, 0.45802907], ..., [0.53420482, 0.46579518], [0.5344612 , 0.4655388 ], [0.53436829, 0.46563171]])] @ 위 문제를 기존에는 y_train의 'ID' 값을 drop하지 않았다가, y_train의 'ID' 값을 drop하니해결되었는데 그것과 관련이 있는 것일까요?그리고, 'ID'값을 제거하려고 할 때에는 X_train, y_train, X_test 세 데이터 프레임 모두의 'ID'값을 반드시 제거해야 하는 것인가요?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
검증 데이터 분리 시 문의
검증 데이터 분리 시,X_tr ~ = train_test_split( train.drop('output', axis=1) 에서전단계에서 데이터 전처리 할 때, 이미 train에서 output 드랍하고 train에 저장했는데 (train = train.drop('output')) 검증 데이터 분리 작성 시 다시 drop 해주는 이유가 있나요?X_tr ~ = train_test_split( train) 이렇게 바로 하면 안되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
라벨인코딩
안녕하세요!명목형 자료의 인코딩 시 Test 데이터에만 있는 Unique 값이 있을 수 있어 데이터를 합치고 인코딩 한 후에 다시 분리하는 것으로 이해하였습니다.예시에 사용된 원핫인코딩의 pd.get_dummies와 달리 라벨인코딩의 경우 사이킷런의 인코더를 이용하는데, 이에 따라 fit_transform, transform으로 나누어 진행하는 것 같습니다.질문은! 라벨인코딩의 경우에 Train, Test 데이터를 합쳐서 인코딩 할 때 fit_transform을 사용하면 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
결측치 처리에서 명목형, 수치형 자료의 처리 방식 차이
안녕하세요!결측치 처리 시에 아래와 같이 수치형 컬럼의 경우 Train 데이터의 평균, 중앙값을 Test 데이터 결측치 처리에 사용한 반면,명목형 컬럼의 경우 Test 데이터 결측치 처리 시에 Test 데이터의 최빈값을 이용한 이유가 궁금합니다!통상적으로 이렇게 진행되는 것인지, 아니면 해당 데이터셋의 경우 Train 데이터와 Test 데이터의 최빈값이 동일해서 단순히 이렇게 처리된 것인지 궁금합니다!# X_train데이터 X_train['workclass'] = X_train['workclass'].fillna(X_train['workclass'].mode()[0]) X_train['native.country'] = X_train['native.country'].fillna(X_train['native.country'].mode()[0]) X_train['occupation'] = X_train['occupation'].fillna("X") X_train['age'] = X_train['age'].fillna(int(X_train['age'].mean())) X_train['hours.per.week'] = X_train['hours.per.week'].fillna(X_train['hours.per.week'].median()) # X_test데이터 X_test['workclass'] = X_test['workclass'].fillna(X_test['workclass'].mode()[0]) X_test['native.country'] = X_test['native.country'].fillna(X_test['native.country'].mode()[0]) X_test['occupation'] = X_test['occupation'].fillna("X") X_test['age'] = X_test['age'].fillna(int(X_train['age'].mean())) X_test['hours.per.week'] = X_test['hours.per.week'].fillna(X_train['hours.per.week'].median())
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
8회 기출 작업형 1 1번문제 질문드립니다.
조건대륙('continent')별 맥주 소비량(‘beer_servings’)의 평균을 계산하고, 평균이 가장 큰 대륙을 찾으시오.1번에서 찾은 대륙에서 맥주 소비량이 5번째로 많은 국가(‘country’)의 맥주 소비량을 구하시오. 이 문제를 풀 때 정답과는 조금 다르게 풀었는데 단순히 답만 나오면 상관 없나요 ? 선생님이 풀이해주신 걸 보면, 별도의 변수를 만들어 대입 후 비교를 하셨는데, 저같은 경우는 데이터프레임에 바로 대입을 하고,1번 조건이 Europe인 것을 확인 후 주석처리를 했습니다. # df = df.groupby('continent').mean('beer_servings') # df = df.sort_values('beer_servings',ascending = 0) # 평균 가장 큰 대륙 : Europe cond = df['continent'] == 'Europe' df = df.sort_values('beer_servings', ascending = 0) print(df.iloc[4, 1])이후 조건 변수에 대입 후 313 답을 도출했는데, 이렇게 풀면 틀릴까요 ?
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모델 주석 처리
영상에서 다양하게 모델 평가 하셨는데, 제일 잘 나온 모델, 예를들어 LinearRegression 이라 하면,이것 제외한 나머지 평가 코딩들을 주석처리로 하고,csv 제출하면 되는건가요?영상에서는 별도 주석처리를 안해준 것 같아서요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
최종 예측결과 제출
안녕하세요 선생님, 강의 잘 듣고 잇습니다.머신러닝 분석 절차는..(1) train 데이터를 tr과 val로 분리(2) tr 데이터로 학습(3) val 데이터로 성능평가(4) 그리고 test 데이터로 예측결과 제출위 순서인 것으로 이해했는데, (4)번에서 train(tr+val) 데이터가 아닌 tr 데이터로 학습한 것을 바탕으로 예측한 결과를 제출하는건가요?train(tr+val) data로 다시 학습한 후에 예측하지 않아도 되는 것인지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
선생님~ 질문있습니다.
지금 데이터를 보면 Roof 데이터에 수치형과 범주형이 동시에 존재하는데저는 범주형 데이터를 라벨인코딩 진행 후 , 데이터분할, 랜포돌림, 그리고 마지막으로 예측하려고하니 다음과 같이 나왔습니다. 에러 내용을 보니... test데이터에 존재하는 object 때문에 이러한 문제가 발생하는 것 같은데...이처럼 하나의 열에 수치형, 범주형이 동시에 존재하면 이 경우에는 원-핫인코딩을 쓰는게 더 나을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
mape 문의
mape 결과값이 inf가 나오는데, 이것은 무엇인가요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
rmse
선생님 혹시... 저는 RMSE를 이렇게 작성했는데... 상관없을까요..?from sklearn.metrics import mean_squared_error rmse = (mean_squared_error(y_val, pred))**(1/2) rmse
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 8회 작업형 2번 질문입니다.
제가 작업형2를 학습중인데 모르는 부분이 생겨서 질문드립니다.작업형2에서 EDA를 진행할 때 기초통계값에서는 어떠한 부분을 확인하나요?RobustScaler나 MinMaxScaler같은 전처리 함수는 수치형데이터를 전처리할 때 사용하는 함수인가요?그렇다면 기출8회 작업형2에서는 왜 LabelEncoder만 진행을하고 수치형데이터에는 따로 전처리를 진행하지 않은건가요?기출8회 작업형2에서 customerID를 제거하던데 왜 ID값들은 제거해야하나요?질문 답변해주시면 감사하겠습니다!!