분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[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 제출해보니 스코어가 유사하게 나온걸 보아, 제 환경에서는 앞에 언급드린대로 하면 될 것 같습니다.
감사합니다.
삭제된 댓글입니다
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 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 } 추가
이렇게 변경한 부분 말고는 동일하게 실행해보았습니다.
보완사항 있으시면 업데이트 부탁드려요.
감사합니다.