inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판] 파이썬 머신러닝 완벽 가이드

실전 텍스트 분석: 04 - Mercari Price Suggestion 피처 인코딩과 피처 벡터화 수행

계속 질문드려서 죄송합니다ㅜㅜ

349

goodlucky1215

작성한 질문수 23

1

def rmsle(y , y_pred):

   return np.sqrt(np.mean(np.power(np.log1p(y) - np.log1p(y_pred), 2)))

def evaluate_org_price(y_test , preds): 

    preds_exmpm = np.expm1(preds)

    y_test_exmpm = np.expm1(y_test)

    rmsle_result = rmsle(y_test_exmpm, preds_exmpm)

    return rmsle_result

print('rmsle 값:', evaluate_org_price(y_test , linear_preds))

evaluate_org_price에서 왜 expm1을 하는지 이해가 가지 않습니다. rmsle를 할때, 어차피 다시 log1p를 하잖아요. 처음부터 expm1도 하지않고 log1p도 하지않고,  바로 값을 넣으면 왜 안되는 건가요?

그러니깐

def rmsle(y , y_pred):

 return np.sqrt(np.mean(np.power(np.y- np.y_pred, 2)))

print('rmsle 값:',rmsle(y_test , linear_preds))

이런식으로 하면 안되는 건가요?

머신러닝 배워볼래요? 통계 python

답변 1

1

권 철민

타겟값이 log 변환을 했기 때문에 말씀하신대로 아무변환을 하지 않고 바로 값을 넣어도 rmsle 가 됩니다.

하지만 이는 원래 타겟값을 log변환을 했기 때문에 가능한 것이지 원래 rmsle 의 의미는 아니기에 보다 명시적으로 수강생 분들에게 보여주기 위해서 그런것입니다.

타겟값을 log 변환했기에 다시 expm1 을 해야 원본 타겟값으로 복원이 되고 이를 다시 log 변환하여 rmsle 변환한 식을 적용한 것입니다.

그리고 질문은 언제나 환영입니다.

감사합니다.

안녕하세요 열심히 수강중인 학생입니다

0

61

2

정수 인덱싱

0

68

2

넘파이 오류

0

85

2

11강 numpy의 axis 축 질문 드립니다.

0

85

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

79

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

70

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

75

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

64

2

5강 강의 오류가 있어요.

0

84

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

72

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

69

3

파이썬 다운그레이 후 사이킷런 재설치

0

117

2

좋은 강의 감사합니다.

0

72

2

scoring 함수 음수값

0

67

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

100

2

분류 평가 정확도 예측

0

76

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

98

1

카카오톡 채널 있나요

0

107

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

189

2

pca 스케일링 관련하여 질문드립니다.

0

100

2

주피터 대신 구글 코랩

0

172

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

147

2

실루엣 스코어..

0

86

2

float64 null 값 처리 방법

0

102

2