분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[baseline2] LightGBM을 활용한 개별 모델링(Public: 0.22959)
안녕하세요, DACON.HoneyBee입니다🐝
품목, 품종별로 특징이 다를 것이기에
그 특징을 살려 학습할 수 있는 개별 모델을 만드는 방법을 시도해보았습니다.
(참고로, 첫번째 baseline은 단일 모델로 전체 21개의 품목 및 품종 가격을 예측합니다.)
Public Score: 0.22959
감사합니다🍯
'''
# temp_test = alldata.iloc[-1].astype(float)
temp_test = alldata.iloc[-1].astype(float)[:-3]
'''
마지막 1,2,4주 컬럼을 예측필드로 고려해서 이렇게 변경했더니, 일단 에러없이 작동하는데 맞는지요?
안녕하세요, 클라우드님!
말씀해주신 내용으로 유추해보면
'''
# answer = week_answer.to_numpy()
answer = week_answer
'''
이 부분 때문에 에러가 발생하지 않았나 싶습니다.
nmae 함수에서 발생했다는 에러가 뭔지 알려주시면 문제 해결 도와드리겠습니다.
감사합니다.
week_answer 가 numpy.ndarray 타입이라서 발생하는 문제 같습니다.
'''
AttributeError: 'numpy.ndarray' object has no attribute 'to_numpy'
'''
baseline2 코드와 동일하게 실행했을 때,
week_answer는 pd.Series 타입입니다.
혹시 다른 수정한 부분이 있나요??
lightgbm 버전 문제일 수 있겠네요.
제 실행 환경은 ubuntu 18.04에서 lightgbm 버전이 3.2.1입니다.
최신 문서에는 lightgbm.Dataset get_label 함수의 리턴 타입이 numpy array or None 으로 되어 있습니다.
'''
def at_nmae(pred, dataset):
y_true = dataset.get_label()
...
'''
https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.Dataset.html#lightgbm.Dataset.get_label
submission 제출해보니 스코어가 유사하게 나온걸 보아, 제 환경에서는 앞에 언급드린대로 하면 될 것 같습니다.
감사합니다.
Deleted Comment
DACON Co.,Ltd | CEO Kookjin Kim | 699-81-01021
Mail-order-sales Registration Number: 2021-서울영등포-1704
Business Providing Employment Information Number: J1204020250004
#901, Eunhaeng-ro 3, Yeongdeungpo-gu, Seoul 07237
E-mail dacon@dacon.io |
Tel. 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
안녕하세요?
전처리 이후 데이터 스키마가 train, test 모두 동일한 것 같은데 에러가 발생하네요.
'''
[LightGBM] [Fatal] The number of features in data (60) is not the same as it was in training data (57).
You can set ``predict_disable_shape_check=true`` to discard this error, but please be aware what you are doing.
'''
그 전에 nmae 함수에서 에러가 발생하는 부분이 있어서
'''
# answer = week_answer.to_numpy()
answer = week_answer
'''
lightgbm.train params에서 { ..., verbose: -1 } 추가
이렇게 변경한 부분 말고는 동일하게 실행해보았습니다.
보완사항 있으시면 업데이트 부탁드려요.
감사합니다.