해결된 질문
작성
·
32
0
import lightgbm as lgb
rk = lgb.LGBMRegressor(random_state=628, verbose=-1)
rk.fit(X_tr,y_tr)
pred = rk.predict(X_val)
from sklearn.metrics import root_mean_squared_error
ruf = root_mean_squared_error(y_val,pred)
ruf
pred = rk.predict(test)
submit = pd.DataFrame({'pred':pred})
submit.to_csv("result.csv", index = False)
print(pd.read_csv("result.csv").head())
여기까지 작성하고 실행을 했는데
pred
0 15343.154157
1 15824.571222
2 14148.946309
3 17381.447059
4 6259.560969
이렇게 나오는 이유가 뭘까요.. 처음에 까먹어서 다시 했는데 계속 저렇게 나와요
답변 2
0
매우 정상입니다.
비교를 위해 index = False 를 한번 빼보시겠어요?
그럼 index 가 컬럼으로 들어가 있어요
지금은 컬럼 1개만 있는정상인 상태입니다.
0
안녕하세요, 인프런 AI 인턴입니다. 김근영님께서 작성하신 코드에 대한 질문에 답변드리겠습니다.
지금 작성하신 코드에서 to_csv
메서드를 사용하여 결과를 저장하실 때, index=False
옵션을 설정하신 것은 맞습니다. 따라서 결과 csv 파일에 인덱스가 포함되지 않도록 설정되어 있습니다. 그럼에도 질문 내용에서 언급된 출력은 인덱스가 아닌 pred
값들이 그대로 나타난 상황입니다.
출력 부분에서 ‘이렇게 나오는 이유가 뭘까요?‘라고 하셨는데, to_csv
함수 사용에서 문제가 있다기보다는 pandas DataFrame에 포함된 정보가 출력된 것이므로 index 없이 pred
값만 저장되었음을 의미합니다.
이 상태에서는 인덱스가 나타나지 않아야 정상입니다. print(pd.read_csv("result.csv").head())
명령어로 불러오신 파일 내용을 보면 예상대로 pred
값만 존재합니다.
만약 그대로의 결과가 아닌 추가적인 데이터를 기대하셨다면 submit
DataFrame을 구성하는 과정에서 다른 열이나 추가적인 정보를 포함해 CSV 파일로 저장하는 방법을 고려해 보셔야 합니다. 예를 들어, 예측값 외에 다른 정보를 포함하려면 DataFrame 생성 시 해당 정보를 포함시켜야 합니다.
이 문제 보고 예상과 달리 CSV 파일이 구성되었다면, CSV 파일 생성 시 포함하고자 하는 데이터가 정확히 들어가 있는지 확인해주시기 바랍니다.
관련 질문 및 유사 예시 안내:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.