작업형 2 연습문제 섹션 6
결측치를 처리하지 않고 그냥 랜덤포레스트를 돌리니깐 0.8933이 나오더라구요
처리하지 않아도 되는걸까요?
import pandas as pd
train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/laptop_train.csv")
test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/laptop_test.csv")
target= train.pop('Price')
df=pd.concat([train,test])
df=pd.get_dummies(df)
train=df.iloc[:len(train)]
test=df.iloc[len(train):]
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.1, random_state=0)
from sklearn.ensemble import RandomForestRegressor
rf=RandomForestRegressor(random_state=0)
rf.fit(X_tr,y_tr)
pred1=rf.predict(X_val)
from sklearn.metrics import r2_score
print(r2_score(y_val, pred1))
pred=rf.predict(test)
result=pd.DataFrame({
'pred':pred
})
result.to_csv('result.csv',index=False)
pd.read_csv('result.csv')
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 이관형님.
랜덤포레스트 모델을 적용하여 예측을 수행한 후, r2_score가 0.8933이라는 높은 값을 기록하셨네요. 이는 매우 좋은 결과입니다. 하지만 몇 가지 주의할 점과 고려할 사항을 공유드리고자 합니다.
결측치 처리:
- 정규적으로 결측치를 처리하지 않고 모델을 학습시켰을 경우, 데이터에 실제로 결측치가 존재하지 않거나 결측치를 무시해도 큰 영향을 받지 않았을 가능성이 있습니다. 그러나 결측치가 [[0]]이나 다른 값으로 처리되어 있을 수 있습니다.
- 결측치 처리 없이도 모델이 좋은 성능을 보였지만, 일반적으로 결측치는 모델의 학습에 영향을 줄 수 있으므로 사전에 적절히 처리하는 것이 좋습니다.
- 정규적으로 결측치를 처리하지 않고 모델을 학습시켰을 경우, 데이터에 실제로 결측치가 존재하지 않거나 결측치를 무시해도 큰 영향을 받지 않았을 가능성이 있습니다. 그러나 결측치가 [[0]]이나 다른 값으로 처리되어 있을 수 있습니다.
데이터 전처리:
pd.get_dummies()를 통해 범주형 데이터를 수치형으로 변환하는 과정은 매우 적절합니다. 이는 머신러닝 모델 학습에 적합하도록 데이터를 정제하는 과정입니다.
모델 검증:
- r2_score는 좋은 성능을 나타내는 지표 중 하나이지만, 데이터의 분포나 테스트 세트의 특성에 따라 결과가 달라질 수 있습니다. 다른 성능 지표(예: MAE, RMSE 등)도 함께 고려해 보시면 좋겠습니다.
- r2_score는 좋은 성능을 나타내는 지표 중 하나이지만, 데이터의 분포나 테스트 세트의 특성에 따라 결과가 달라질 수 있습니다. 다른 성능 지표(예: MAE, RMSE 등)도 함께 고려해 보시면 좋겠습니다.
모델 안정성 확인:
- 성능이 높다고 해서 항상 문제가 없다고 단정지을 수는 없습니다. 여러 세트의 교차 검증을 통해 모델이 일관되게 높은 성능을 보이는지 확인하는 것이 중요합니다.
- 성능이 높다고 해서 항상 문제가 없다고 단정지을 수는 없습니다. 여러 세트의 교차 검증을 통해 모델이 일관되게 높은 성능을 보이는지 확인하는 것이 중요합니다.
추가적으로, 랜덤포레스트 모델의 경우 기본적으로 결측치를 자체적으로 처리하는 기능은 없습니다. 따라서 데이터 세트에 결측치가 포함되어 있고 이를 명시적으로 처리하지 않았다면 주어진 데이터에서는 실제로 결측치가 적거나 없었을 가능성이 높습니다.
더욱 다양한 환경에서의 테스트를 통해 모델의 일반화 성능을 평가하는 것이 좋겠습니다. 유사한 문제 해결 방법 관련 질문이 있었던 작업형2 모의문제2를 참고하시면 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강 연장 문의드립니다.
0
8
1
강의 연장 문의
0
16
1
수강 신청 연장 문의드립니다.
0
28
1
작업형 1번문제... 환경관련
0
24
2
12회 기출은 언제 업데이트 될까요??
0
35
2
8/6 작성한 연장문의 질문글에 대한 재요청
0
38
2
수강기간 연장 문의
0
35
2
수강기간 연장문의
0
36
2
수강기간 연장 요청 문의드립니다
0
37
2
수강 기간 연장 문의
0
46
2
수강연장 가능 문의 (기간 약 한달반)
0
58
2
수강기간 연장 가능할까요 선생님
0
74
2
Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.
0
55
3
수강연장요청 문의
0
88
2
아무래도 다음 시험 연장은 어렵겠죠?
0
107
2
빅분기 12회 결과 관련 문의
0
112
1
책이랑 강의랑 순서나 예제가 다른것 같네요
0
80
2
수강연장 문의
0
104
2
재검토 요청 방법 좀 알려주셔요...-.-;;
0
105
2
12회 실기 질문(작업형 2)
0
91
2
뒤로가기 버튼 같은 것이 있나요?
0
66
1
강의 연장 문의
0
99
2
출력값 질문
0
71
2
수업노트가 어디에 있나요?
0
63
1





