해결된 질문
작성
·
408
·
수정됨
0
알려주신대로 풀어보았습니다
import pandas as pd
train = pd.read_csv("data/customer_train.csv")
test = pd.read_csv("data/customer_test.csv")
train= train.fillna(0)
test= test.fillna(0)
from sklearn.preprocessing import LabelEncoder
cols = ['주구매상품','주구매지점']
for 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_split
X_tr,X_val,y_tr,y_val=train_test_split(train,target,test_size=0.2,random_state=0)
from sklearn.ensemble import RandomForestClassifier
model=RandomForestClassifier()
model.fit(X_tr,y_tr)
pred=model.predict_proba(X_val)
from sklearn.metrics import roc_auc_score
# print(roc_auc_score(y_val,pred[:,1]))
pred=model.predict_proba(test)
submit = pd.DataFrame({
'pred': pred[:,1]
})
submit.to_csv("result.csv",index=False)
이렇게 제출했는데
1.
# print(roc_auc_score(y_val,pred[:,1]))
이부분은 값을 확인만하고 주석처리하는것이죠?
2.
from sklearn.metrics import roc_auc_score
이렇게만 해도 roc-auc 평가가 적용되나요?
3.
문제풀때 프린트문은 다 주석처리 하면될까요
4.
test_size=0.2,random_state=0
숫자는 아무거나 적어도 되나요?
5. model=RandomForestClassifier() 이부분에도 랜덤스테이트를 넣으면 좋다고 하셧는데
위와 동일한 랜덤스테잌트인 0을 넣으면 되나요?
답변 1
0
네, 주석처리 하지 않아도 됩니다.
oc_auc_score(y_val,pred[:,1])까지 작성하면 평가결과를 얻을 수 있어요
주석처리 하지 않아도 됩니다. 그런데 아래 공간이 협소하고 구분해서 제가 보기 힘들어 주석처리 했어요 시험에서는 코드로 평가하지 않아요 csv로만 평가합니다.
test_size=0.2는 고정 하시죠! 검증데이터 20%의미입니다. 더 높이지는 마세요
네 정확합니다.