인프런 커뮤니티 질문&답변
2유형 코드 암기 확인 부탁드립니다!!
작성
·
33
0
안녕하세요 강사님 ^^
다름이아니라 시험 전 2유형 코드 여쭤보려고 질문 남깁니다!
2유형 이렇게만 하면 될까요?
중간에 검증과 평가를 제외해서,, 확인 한번만 부탁드립니다!
target = train.pop('타켓명')
train = pd.get_dummies(train)
test = pd.get_dummies(test)
test = test.reindex(columns=train.columns, fill_value=0) #train과 test 컬럼명이 다르다면 수행
from sklearn.ensemble import RandomForestClassifier/Regressor
rf = RandomForestClassifier/Regressor(random_state =0)
rf.fit(train, target)
pred = rf.predict(test)
submit = pd.DataFrame({'pred':pred})
submit.to_csv("result.csv', index=False)
print(pd.read_csv("result.csv").head()) #제출파일확인
print(pd.read_csv("result.csv").shape) #제출파일확인
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 권재경님께서 작성하신 코드를 검토해 드리겠습니다.
작성하신 코드는 데이터 전처리부터 모델 학습 및 결과 제출까지의 기본적인 과정을 잘 포괄하고 있습니다. 다만, 정확하고 안정적인 결과 제출을 위해 몇 가지 점검 사항과 추가적인 조언을 드리겠습니다.
데이터 인코딩:
pd.get_dummies를 사용하여 범주형 데이터를 원핫 인코딩하는 것은 좋습니다. 하지만, train과 test 데이터 간에 컬럼 정렬을 위해reindex함수를 잘 활용하셨습니다.test.reindex(columns=train.columns, fill_value=0)은 좋은 접근법입니다.
모델 선택:
- 코드에서
RandomForestClassifier/Regressor와 같이 사용하셨는데, 분류 문제라면RandomForestClassifier, 회귀 문제라면RandomForestRegressor를 명확히 구분해서 사용해야 합니다.
- 코드에서
평가 단계 누락:
- 중간의 검증과 평가 단계를 생략하신 점을 언급하셨습니다. 시험 상황에서는 데이터의 hold-out set을 사용해서 모델의 성능을 한번 검증해보시는 것도 좋습니다.
train_test_split함수를 사용하여 데이터를 분리하고 검증 데이터셋을 만드실 수 있습니다.
- 중간의 검증과 평가 단계를 생략하신 점을 언급하셨습니다. 시험 상황에서는 데이터의 hold-out set을 사용해서 모델의 성능을 한번 검증해보시는 것도 좋습니다.
출력 검증:
print(pd.read_csv("result.csv").head())및print(pd.read_csv("result.csv").shape)을 통해 작성된 파일을 확인하는 것은 파일 형식이 제대로 됐는지 확인하는 데 유용합니다. 특히,result.csv의 행 개수가 예상한 대로인지 확인하십시오.
추가적으로, 유사한 문제를 다룬 게시글을 참고하시면 도움이 될 것입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






답변 감사합니다!
train과 test 합쳐서 인코딩
이 부분은 각데이터들을 원핫인코딩 한 후
아래 코드를 수행하면 되는 걸까요?
test = test.reindex(columns=train.columns, fill_value=0)