분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
자율주행 센서의 안테나 성능 예측 AI 경진대회
기본 모델에 평가 산식 함수를 적용하려는데 metrics name error 나시는 분 있으신가요?
적용한 모델 성능을 확인해보고 싶은데 저 에러가 떠서 성능 확인이 안되네요ㅜㅜ
혹시 도와주실 수 있는 분 계실까요,,
댓글 감사합니다! 이후에는 이런 에러가 뜨네요,,
TypeError Traceback (most recent call last)
Input In [192], in <module>
----> 1 print (f'선형회귀의 RMSLE 값 : {lg_nrmse(y_test, preds):.4f}')
Input In [179], in lg_nrmse(gt, preds)
4 all_nrmse = []
5 for idx in range(1,15): # ignore 'ID'
----> 6 rmse = metrics.mean_squared_error(gt[:,idx], preds[:,idx], squared=False)
7 nrmse = rmse/np.mean(np.abs(gt[:,idx]))
8 all_nrmse.append(nrmse)
File ~\miniconda3\envs\jupyter\lib\site-packages\pandas\core\frame.py:3458, in DataFrame.__getitem__(self, key)
3456 if self.columns.nlevels > 1:
3457 return self._getitem_multilevel(key)
-> 3458 indexer = self.columns.get_loc(key)
3459 if is_integer(indexer):
3460 indexer = [indexer]
``` (중략)
TypeError: '(slice(None, None, None), 1)' is an invalid key
저기 위해 lg nrmse는 형식이 array로 들어가야 작동되는 것으로 기억해요. 만약에, gt / preds을 DataFrame으로 넣으실거면, gt.iloc[:,idx] ~~~ 이런식으로 해줘야 할거에요. 데이터타입을 한번 봐보세요!
와 다냐니라님 넘넘 감사합니다!!
def lg_nrmse(gt, preds):
"""
@Description: Metric used in this project
@Params1: gt, pandas dataframe
@Param2: preds, pandas dataframe
@Return: nrmse score
"""
# 각 Y Feature별 NRMSE 총합
# Y_01 ~ Y_08 까지 20% 가중치 부여
preds = pd.DataFrame(preds)
all_nrmse = []
for idx in range(0,14):
rmse = mean_squared_error(gt.iloc[:,idx], preds.iloc[:,idx], squared=False)
nrmse = rmse/np.mean(np.abs(gt.iloc[:,idx]))
all_nrmse.append(nrmse)
score = 1.2 * np.sum(all_nrmse[:8]) + 1.0 * np.sum(all_nrmse[8:15])
return score
import sklearn.metrics as metrics
해보시죠
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
저기 import를 어큐러시가 아니라 mean_squared_error로 변경해야될거 같아용