코드 작성을 이렇게 해도 될까요?
import pandas as pd
train = pd.read_csv("data/customer_train.csv")
test = pd.read_csv("data/customer_test.csv")
pd.set_option('display.max_columns', None)
# print(train.shape, test.shape)
# print(train.head())
# print(test.head())
# print(train.info())
# print(train.isnull().sum())
# print(test.isnull().sum())
train['환불금액'] = train['환불금액'].fillna(0)
test['환불금액'] = test['환불금액'].fillna(0)
cols = ['회원ID', '총구매액', '최대구매액','환불금액','방문일수','방문당구매건수','주말방문비율','구매주기']
# print(train.isnull().sum())
# print(test.isnull().sum())
target = train.pop('성별')
# print(train.shape, test.shape)
train = pd.get_dummies(train)
test = pd.get_dummies(test)
# print(train.shape, test.shape)
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train[cols],target, test_size = 0.2, random_state = 2022)
print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(random_state = 2022)
rf.fit(X_tr[cols], y_tr)
pred = rf.predict_proba(X_val[cols])
# print(pred)
from sklearn.metrics import roc_auc_score
print(roc_auc_score(y_val,pred[:,1]))
pred = rf.predict_proba(test[cols])
submit = pd.DataFrame({'pred' : pred[:,1]})
submit.to_csv('result.csv', index=False)
print(pd.read_csv('result.csv'))
그리고 코랩에서 연습할 때는 submit.to_csv('result.csv', index=False) 해당 코드를 작성하면, 파일 칸에 생기는 것을 확인했었는데, 여기서는 따로 생성이 안되고 그냥 제출하기만 하면 될까요?
답변 2
0
시험환경이 접속이 안되어 제대로 확인이 불가한데
혹시 일부 컬럼을 제외 시켰을까요?
범주형 컬럼은 함께 사용해주세요!
만약 에러로 어쩔 수 없는 상황이라면 이렇게 하는 것 좋습니다만 가능하면 강의영상을 보고 인코딩 처리 연습해 주세요
네 탭에 생기진 않습니다. print(pd.read_csv('result.csv')) 로 확인하면 됩니다.
0
범주형 컬럼은 꼭 같이 사용을 해야할까요??(제가 잘 몰라서요ㅜㅜ) 수치형 컬럼을 cols로 묶지 않고 그냥 진행을 해보니 에러 메세지가 떠서, 수치형 컬럼만 묶어서 진행했습니다. 그렇게 했을 때 0.629라는 평가 지표가 나왔고, 범주형 컬럼을 함께 사용하라고 하셔서 레이블 인코딩을 진행 후 평가해보니 0.627이 나왔습니다.
1
데이터가 공개된 것이 아니라 결론을 내릴 수는 없지만
심사위원입장에서
수치형 변수만 사용해서 40점을 받기 불가능하게 설정할 것 같아요!
꿀팁 섹션 - 작업형2 한 가지 방법으로 풀기 로 우선 학습해 주시고
최악의 상황에는 수치형만 사용해 주세요
응원합니다!!
0
안녕하세요, 인프런 AI 인턴입니다. dkqehs님.
적어주신 코드는 데이터를 불러와 전처리한 후, train/test로 나누어 랜덤 포레스트 모델로 학습한 후 결과를 제출하는 코드로 보입니다. 코드 구조상 크게 문제가 없어 보이며, 특히 RandomForestClassifier를 통해 데이터 분류 예측을 수행하는 점에서 적절하게 작업하신 것 같습니다.
코드 관련 팁:
1. pd.get_dummies()는 범주형 변수를 One-hot 인코딩하는데 사용됩니다. 이 경우 가끔 train/test의 열 개수가 불일치할 수 있으니 나중에 활용시 주의가 필요합니다.
2. cols에 포함된 열들이 모두 데이터에 포함되어야 하며, 그렇지 않으면 오류가 발생할 수 있습니다.
질문에 대한 답변:
코랩에서 [submit.to_csv('result.csv', index=False)] 후 파일이 생성되었다면, 로컬 환경에서도 동일하게 CSV 파일이 생성될 것입니다. 이를 제출 시, 생성된 파일을 제출하여 평가됩니다.
이미지에서 파일 목록이 보이듯이, 이 과정은 정상적인 CSV 파일 생성을 지원합니다.
관련 질문과 비슷한 내용은 아래 링크를 참고해 보실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
1유형 강의 다 나간 후 어떻게 할까요?
0
12
1
점수차가 많이 나는데 따로 하신게 있으신가요?
0
8
1
작업형1 모의문제 4번에 3)문제 질문
0
18
2
이상치 전처리 작업
0
25
2
평가결과값 문의
0
28
2
시계열 데이터 날짜와 시간 format
0
34
2
평가지표 F1 스코어 질문드립니다.
0
27
2
작업형 2 기출7회분에서
0
38
2
작업형2 모의문제1 (30강)
0
34
2
수강 기간 연장 문의 드립니다.
0
41
2
수강 계획과 관련해 문의 드립니다.
0
30
2
작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?
0
50
2
작업형 1 -연습문제 4-6
0
38
2
작업형 1 유형 부분
0
42
2
작업형 1 (삭제예정, 구 버전)
0
51
2
수강기간 연장 문의드립니다.
0
38
2
2유형 레이블 인코딩 VS 원핫 인코딩
0
37
3
수강기간 연장 문의드립니다.
0
44
2
인덱스 슬라이싱
0
37
2
질문 드립니다.
0
50
2
강의 내용 관련 질문드립니다~
0
46
2
수강 연장 문의
0
63
2
강의자료 일괄 다운로드
0
62
2
수강기간 연장 문의드립니다
0
48
2





