인프런 커뮤니티 질문&답변
5회 기출 작업형2 코드 봐주시면 감사하겠습니다.
해결된 질문
작성
·
38
0
- 혼자 작성해보고 결과값도 나온거같은데 문제없는 코드일지요~ - import pandas as pd train=pd.read_csv("train.csv") test=pd.read_csv("test.csv") #train.info(), test.info() #원핫인코딩(범주형을 수치형으로) target=train.pop("price") train=pd.get_dummies(train) test=pd.get_dummies(test) #데이터분할 및 검증하기 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=2022) #랜덤포레스트회귀? from sklearn.ensemble import RandomForestRegressor model=RandomForestRegressor(max_depth=7, random_state=2022) model.fit(X_tr, y_tr) pred=model.predict(X_val) pred # 모델성능평가 from sklearn.metrics import root_mean_squared_error re=root_mean_squared_error(y_val, pred) re pred = model.predict(test) result=pd.DataFrame({ "pred" : pred } ) result.to_csv("55.csv", index=False)
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 이선희님의 질문에 답변드리겠습니다.
작성하신 코드를 보면 전반적으로 아주 잘 작성하셨습니다. 하지만 몇 가지 확인하고 수정이 필요한 부분이 있습니다:
- 모듈 임포트 오류: - from sklearn.metrics import root_mean_squared_error부분은- root_mean_squared_error라는 함수가 존재하지 않기 때문에 오류가 발생합니다. 대신- mean_squared_error를 사용하여 RMSE를 구할 수 있습니다.
 - from sklearn.metrics import mean_squared_error rmse = mean_squared_error(y_val, pred, squared=False) # squared=False를 통해 RMSE를 얻음 print(rmse)
 
 
- 데이터프레임 컬럼 불일치 가능성 처리: - 원핫인코딩 이후 train과 test 데이터의 컬럼이 일치하지 않는 경우가 발생할 수 있습니다. 이 경우에는 다음과 같이 train과 test를 합쳤다가 다시 나누는 방법을 사용할 수 있습니다.
 from sklearn.preprocessing import OneHotEncoder encoder = OneHotEncoder(handle_unknown='ignore', sparse=False) all_data = pd.concat([train, test], axis=0) all_encoded = pd.DataFrame(encoder.fit_transform(all_data)) train_encoded = all_encoded.iloc[:train.shape[0]].reset_index(drop=True) test_encoded = all_encoded.iloc[train.shape[0]:].reset_index(drop=True)
 
 
- 원핫인코딩 이후 train과 test 데이터의 컬럼이 일치하지 않는 경우가 발생할 수 있습니다. 이 경우에는 다음과 같이 train과 test를 합쳤다가 다시 나누는 방법을 사용할 수 있습니다.
- 결과 제출: - 코드에서 최종적으로 사용할 “55.csv”는 모델의 예측치를 담고 있으며, 이 부분도 정상이십니다. 하지만 예측 결과 파일을 만들면서 사용한 result데이터프레임이 정확히 어떤 컬럼들로 이루어져 있는지, 확인 후 출력하시는 것이 좋습니다.
 
 
- 코드에서 최종적으로 사용할 “55.csv”는 모델의 예측치를 담고 있으며, 이 부분도 정상이십니다. 하지만 예측 결과 파일을 만들면서 사용한 
관련 질문과 해결 방법에 대한 게시글은 다음과 같습니다:
- 작업형 2 유형의 문제와 해결 방법
이 게시글에서는 컬럼 추출, 데이터 전처리, 모델 학습 및 평가에 대한 추가 정보를 얻을 수 있습니다. 시험 환경에서는 코드가 잘 작동하는지 여러 번 확인 후 제출하시는 것을 추천드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






