작업형2 모델 검증
선생님의 코딩
# LightGBM
import lightgbm as lgb
lg = lgb.LGBMClassifier(random_state=0, verbose=-1)
lg.fit(X_tr, y_tr)
pred = lg.predict(X_val)
print("lightgbm")
print(f1_score(y_val, pred, average='macro'))
# 최종 제출 파일 (lightGBM)
pred = lg.predict(test)
result = pd.DataFrame({'pred':pred})
result.to_csv("result.csv", index=False)
저의 코딩
from lightgbm import LGBMClassifier
lg = LGBMClassifier(random_state=0, verbose=-1)
model = lg.fit(X_tr, y_tr)
pred = model.predict(X_val)
pred.shape
f1_score(y_val,pred, average='macro')
# basic
# 0.9257472552209252
pred = lg.predict(test)
submit = pd.DataFrame({'pred' : pred})
submit.to_csv('result.csv', index=False)
pd.read_csv('result.csv')
여쭙고싶은 것은 선생님께서는
lg.fit을 어떤 변수에 넣지 않고 바로 학습시킨 뒤 그것으로 예측 및 검증을 하고 최종 test 예측까지 수행하시는데,
저는 lg.fit을 model이란 변수에 넣은뒤 예측 및 검증을하고, 최종적으로는 lg로 test 예측을 수행합니다.
혹시 이 차이에서 최종 예측성능에 차이가 생길까요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 이정균님!
질문해 주신 내용에 대해 설명드리겠습니다.
lg.fit() 메소드는 LightGBM 모델을 학습시키는 함수입니다. 이 함수의 반환 값은 훈련된 모델 객체 자신입니다. 따라서 lg = lgb.LGBMClassifier()로 선언한 lg 객체에 직접 fit() 메소드를 호출하게 되면 lg 객체 자체가 학습된 모델로 업데이트됩니다. 즉, 여러분이 lg 또는 model이라는 별도 변수에 학습된 모델을 저장하든 성능의 차이는 없을 것입니다. 두 경우 모두 동일한 방식으로 모델이 훈련되며, 동일한 예측 성능을 제공할 것입니다.
여기서 중요한 점은, 훈련된 모델에서 예측을 수행하기 위한 메소드 (predict)를 동일한 객체에 대해 호출한다는 것입니다.
다음과 같은 답변들이 도움이 될 수도 있습니다:
- 작업형 2번 model.fit 적용 문의에서 왜 전체 훈련 데이터로 재학습하는 것이 성능에 영향을 줄 수 있는지에 대한 논의가 있습니다.
- lightGBM 질문입니다.에서는 LightGBM을 사용할 때 발생할 수 있는 오류 메시지와 그 해결책에 대한 설명이 있습니다.
결론적으로, 코딩 스타일의 차이일 뿐 모델의 성능에는 영향을 미치지 않습니다. 따라서 둘 중 어떤 방식을 사용해도 무방합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
강의 연장 문의
0
10
1
수강 신청 연장 문의드립니다.
0
23
1
작업형 1번문제... 환경관련
0
24
2
12회 기출은 언제 업데이트 될까요??
0
35
2
8/6 작성한 연장문의 질문글에 대한 재요청
0
37
2
수강기간 연장 문의
0
34
2
수강기간 연장문의
0
36
2
수강기간 연장 요청 문의드립니다
0
36
2
수강 기간 연장 문의
0
45
2
수강연장 가능 문의 (기간 약 한달반)
0
57
2
수강기간 연장 가능할까요 선생님
0
72
2
Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.
0
53
3
수강연장요청 문의
0
87
2
아무래도 다음 시험 연장은 어렵겠죠?
0
106
2
빅분기 12회 결과 관련 문의
0
111
1
책이랑 강의랑 순서나 예제가 다른것 같네요
0
80
2
수강연장 문의
0
103
2
재검토 요청 방법 좀 알려주셔요...-.-;;
0
104
2
12회 실기 질문(작업형 2)
0
91
2
뒤로가기 버튼 같은 것이 있나요?
0
65
1
강의 연장 문의
0
98
2
출력값 질문
0
70
2
수업노트가 어디에 있나요?
0
63
1
실기시험 제출관련
0
226
3





