인프런 커뮤니티 질문&답변

눈누난나님의 프로필 이미지
눈누난나

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

예시문제 작업형2(구 버전): 학습시간 최소화를 위해 구 버전은 삭제하고 있어요!

예시문제 작업형2 코드 질문

해결된 질문

작성

·

321

·

수정됨

0

import pandas as pd
test = pd.read_csv("data/X_test.csv")
train = pd.read_csv("data/X_train.csv")
y_train = pd.read_csv("data/y_train.csv")
pd.set_option('display.max_columns', None)
# 사용자 코딩

test['환불금액'] = test['환불금액'].fillna(0)
train['환불금액'] = train['환불금액'].fillna(0)

from sklearn.preprocessing import LabelEncoder
cols = train.select_dtypes(include='object').columns
# print(cols)
le = LabelEncoder()
for col in cols:
	train[col] = le.fit_transform(train[col])
	test[col] = le.transform(test[col])

train = train.drop('cust_id', axis = 1)
test_id = test.pop('cust_id')
# print(train.head())
	
# print(train.head(3))
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train, y_train['gender'], test_size=0.2, random_state = 0)

from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(random_state = 0)
rf.fit(X_tr, y_tr)
pred = rf.predict_proba(X_val)

# print(pred)
from sklearn.metrics import roc_auc_score
# print(roc_auc_score(y_val, pred[:, 1]))

pred_res = rf.predict_proba(test)

pd.DataFrame({'custid': test_id, 'gender': pred_res[:,1]}).to_csv('950326.csv', index=False)
# print(pd.read_csv('950326.csv'))

안녕하세요, 딴짓님

제가 강의 안 보고 혼자 작성한 내용인데요..

혹시 해당 내용처럼 작성하면 올바르게 작성한 건지 혼자서 판단이 안 돼서요ㅠ

RandomForest 모델 + 소개해주신 lightGBM정도만 준비해가면 될는지요..

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

네 큰 문제 없어 보입니다. 💪💪💪💪💪
6회를 준비할 땐 마지막 csv는 아래와 같은 형태가 될 예정이에요

pd.DataFrame({'pred': pred_res[:,1]}).to_csv('result.csv', index=False)

그리고 데이터셋이 2개가 주어진 적이 많으니

train = pd.concat([train, y_train['gender']], axis=1) 이렇게 합쳐서도 연습해주세요 :)

눈누난나님의 프로필 이미지
눈누난나
질문자

아 네넵 감사합니다.

데이터셋이 2개가 주어진 경우 강의 해주신 것 같은데, 일단 3개는 이정도로 공부하면서 유지해 나가며 2개인 경우 공부해보겠습니다. 감사합니다!

눈누난나님의 프로필 이미지
눈누난나

작성한 질문수

질문하기