자율주행 센서의 안테나 성능 예측 AI 경진대회

기본 모델에 평가 산식 함수를 적용하려는데 metrics name error 나시는 분 있으신가요?

2022.08.18 17:02 1,391 Views

적용한 모델 성능을 확인해보고 싶은데 저 에러가 떠서 성능 확인이 안되네요ㅜㅜ

혹시 도와주실 수 있는 분 계실까요,,

로그인이 필요합니다
0 / 1000
나는슬플때파이썬을해
2022.08.18 17:22

저기 import를 어큐러시가 아니라 mean_squared_error로 변경해야될거 같아용

charm_tree
2022.08.18 18:48

댓글 감사합니다! 이후에는 이런 에러가 뜨네요,,
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

다냐니라
2022.08.18 19:17

저기 위해 lg nrmse는 형식이 array로 들어가야 작동되는 것으로 기억해요. 만약에, gt / preds을 DataFrame으로 넣으실거면, gt.iloc[:,idx] ~~~ 이런식으로 해줘야 할거에요. 데이터타입을 한번 봐보세요!

하짱02
2022.08.21 20:54

와 다냐니라님 넘넘 감사합니다!! 

비회원
2022.08.18 20:06

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

Saturday.K
2022.08.18 22:19

import sklearn.metrics as metrics 
해보시죠