• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    해결됨

.score() 메소드에 대해 질문이 있습니다

23.03.25 03:18 작성 조회수 222

0

안녕하세요 강사님 책으로 공부하고 있는 학생입니다.
다름이 아니라 sklearn의 score()함수에 대해 질문이 있습니다.

책의 158p 다중 회귀모델 훈련하기에서 예시코드로 print(lr.score(test_poly, test_target))이라는 코드를 작성하고, -144.40... 이라는 값을 얻게 됩니다.
제가 알기로는 score 메소드가 반환하는 것은 R^2 상관계수인데, 이게 보통은 0~1의 값을 가질텐데 이렇게 큰 음수가 나오는건 무엇을 의미하는걸까요? 대략적으로 이게 맞지 않다는 것은 이해하겠는데, 어째서 큰 음수가 나오는 것인지 통 이해가 되질 않습니다.

사실 이 부분은 로지스틱 회귀를 공부하다 생긴 일부의 질문입니다.
183p에서 시그모이드 함수를 학습하는 중, z값은 어떤 값이든 가능하다고 하셨는데 어째서 그것이 가능한걸까요? '3장에서 다룬 다중 회귀를 위한 선형 방정식과 같다'고 하셨는데 z값이 정확히 의미하는 바가 무엇인지 모르겠습니다. z값이 무엇인지 모르니 왜 (-∞~∞)의 범위를 가지는지 이해할 수 없고 더 나가지를 못하고 있습니다... 몇번을 싸매고 봐도 정말 잘 모르겠습니다..

답변 2

·

답변을 작성해보세요.

0

안녕하세요. z는 알고리즘이 모델링하려는 선형 함수의 출력입니다. z가 0보다 크면 양성 클래스이고 0보다 작으면 음성 클래스입니다. 0에서 얼마나 멀리 떨어져 있는지가 모델이 믿는 정도와 비례하다고 말할 수 있습니다. 시그모이드 함수는 이 출력을 0~1 사이의 확률로 변환해주는 수학적 도구입니다. 처음 배우실 때는 많은 부분이 모호할 수 있습니다만 모든 것에 대한 의미를 찾는 것은 어려운 일 같습니다. 무엇보다도 머신러닝은 블랙박스와 같다는 것을 기억하세요. 감사합니다.

박세은님의 프로필

박세은

질문자

2023.03.25

친절하신 답변에 감사드립니다! 많은 도움 받고있습니다

0

안녕하세요. 박해선입니다. R^2은 정의(121페이지 참고)에 따라 최댓값은 1이지만 최솟값은 하한이 없습니다. 아주 큰 음수도 가능합니다. z는 136페이지에 있는 y와 같은 의미입니다. 감사합니다!

박세은님의 프로필

박세은

질문자

2023.03.25

답변에 감사드립니다. z값을 0~1 사이의 숫자로 변환해준다는 것은 이해를 했는데, z값이 무슨 의미를 가지기에 시그모이드 함수를 통해 %로 나타낼 수 있게끔 바꿔주는지를 잘 모르겠습니다. 상관계수는 검색을 통해 의미를 이해할 수 있었는데, 이 부분은 통 모르겠습니다... 질문 드려도 될까요?