[이것이 데이터 분석이다 with 파이썬_12] 점수 예측 모델(추천 모델)

Sdílet
Vložit
  • čas přidán 27. 08. 2024
  • ※ 도서 해당 내용
    Chapter 03. 미래를 예측하는 데이터 분석(p181~p202)
    - 미래에 볼 영화의 평점 예측하기
    - 수학적 기법을 활용해 평점 예측하기
    - 예측 모델 평가하기
    ※ 추천합니다!
    - 코드를 실행하다가 이론을 모르겠어서 지치는 분들
    - 이론을 공부하다가 수학이 막혀서 지치는 분들
    - 수학 공부하다가 코드를 잊어보는 분들
    WHY,
    '왜' 가 중요합니다.
    왜 이런 코드를 실행하고 분석의 방법을 잡는지
    왜 이런 알고리즘이나 분석 방법을 여기서 사용하는지
    ※ 이 동영상은 『이것이 데이터 분석이다 with 파이썬』 책 내용을 토대로 제작되었습니다.
    ▶ 도서 자세히 보기 : www.hanbit.co.k...
    ▶ 질문하기 : 영상에 댓글을 달아주세요.

Komentáře • 8

  • @hjr9018
    @hjr9018 Před 3 lety +2

    제가 가지고 있는 데이터셋으로 train_data를 생성하고 SVD 학습시키는 단계까지 진행했습니다. 그런데 build_anti_testset 메소드가 test_data 를 뽑아내지 못하는 것 같아요. 데이터셋에 분명히 rating값이 없는 결측치들이 있었는데 말이에요. ㅜㅜ 어떤 부분을 확인해보면 좋은 걸까요?

    • @user-je8ie4vb8g
      @user-je8ie4vb8g Před 3 lety

      코드와 상황을 정확하게 몰라서 답변드리기가 어려운 점 양해 부탁드립니다 ㅠㅠ
      surprise SVD 모델은 공식 문서를 따라하시는 게 가장 이해하기 쉽습니다. surprise.readthedocs.io/en/stable/index.html 이 문서에서 함수 사용법을 찾아보시는 것을 권장드립니다.

  • @love80music
    @love80music Před 4 lety

    안녕하세요? 강의 잘 보았습니다. '다음 시간에 뵙도록 하겠습니다'라고 멘트 하신 것을 보면 다음 업데이트가 있을 것 같은데, 언제쯤 올라오나요?

  • @hjk3399
    @hjk3399 Před 4 lety

    안녕하세요. R 유저인데 저자님 덕분에 파이썬 공부를 잘 하고 있습니다.
    질문이 있습니다.
    영상 7:10 내용 중, agg 함수 적용하는 코드(아래와 같습니다.)에서
    # 영화별 평균 평점을 탐색합니다.
    movie_grouped_rating_info = rating_data.groupby('movie_id')['rating'].agg(
    {'rated_count':'count', 'rating_mean':'mean'})
    을 실행하니
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    SpecificationError Traceback (most recent call last)
    in ()
    1 movie_grouped_rating_info = rating_data.groupby('movie_id')['rating'].agg(
    ----> 2 {'rated_count':'count', 'rating_mean':'mean'})
    --> 294 raise SpecificationError("nested renamer is not supported")
    SpecificationError: nested renamer is not supported
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    오류가 뜹니다. ipynb 그대로 실행했는데 안 되는 이유가 뭔지 알 수 있을까요?

  • @xikest
    @xikest Před 3 lety

    타이타닉 영상이 없어서...마지막 영상 댓글로 문의 드려요 ㅎ
    책 p 216에서 원 핫 인코딩하는 코드 이해가 안되어서 문의 드려요
    아래는 p216의 원핫 인코팅 코드이고,
    whole_df_encoded = pd.get_dummies(whole_df)
    P148 의 원핫 인코딩 코드 입니다
    team_encoding = pd.get_dummies(picher_df['팀명'])
    왜 야구 예측 예제처럼 인코딩 하는 칼럼을 지정하지 않는 것인지 궁금 합니다.
    각 장마다 비슷한 데이터를 전처리하는 방식이 조금씩 달라서 따라하는 재미가 있네요 ㅎㅎ

    • @user-je8ie4vb8g
      @user-je8ie4vb8g Před 3 lety

      감사합니다 :) 타이타닉 영상은 곧 업로드 될 예정입니다.
      인코딩 칼럼을 지정하지 않는 경우는, 원 핫 인코딩이 가능한 모든 칼럼을 인코딩해주는 결과로 나옵니다. 216p는 인코딩이 가능한 모든 칼럼에 적용해주기 위해 칼럼을 지정해주지 않았습니다.

    • @xikest
      @xikest Před 3 lety

      @@user-je8ie4vb8g P.216 타이타닉 예제에서
      원핫 인코딩을 수행하는 코드가 궁금합니다.
      df_test와 df_train을 하나로 묶고 원핫 인코딩을 한 후, 다시 분리하는데
      df_test와 df_train을 각각 원핫 인코딩을 하면 안되나요?
      책에는 필요하다고만 되어 있어서 궁금합니다
      pd.get_dummies(df_test)
      # one-hot encoding을 위한 통합 데이터 프레임(whole_df)을 생성
      whole_df = df_train.append(df_test)
      train_idx_num = len(df_train)
      # pandas 패키지를 이용한 one-hot 인코딩
      whole_df_encoded = pd.get_dummies(whole_df)
      df_train = whole_df_encoded[:train_idx_num]
      df_test = whole_df_encoded[train_idx_num:]
      그리고 p217에서 로지스틱 함수에서 random_state=0이고, 이전 야구 예제에서 데이터 나눌 때는 random_state=19로 하는데...random_state가 뭔가요?
      예측 모델을 만들고 ROC 커브 잘 나오면 모델이 좋다는 것을 알겠습니다..
      그러면 좋은 모델을 실제 사용하려면
      lr.predict( 새로운 데이터) 이렇게 해서 분류 작업을 하면 되는건가요?
      드디어 타이타닉 예제 다 따라 했습니다
      타이타닉 예제 따라만 하는데 3일 걸렸네요 ㅠ.ㅠ
      결과 해석이 이해가 잘 안되서 문의 드립니다.
      p.233 입니다.
      AUC가 0.8 이상을 기록 했기 떄문에 대체로 높은 정확도 라는 것은
      AUC 0.8 이상이면 보통 정확하다고 보는건가요?
      그래프에서 0.82 -> 0.88 ->0.86 이렇게 변하는데 0.82->0.88로 변화는 수치가 작아 보이는데 변화가 큰 것인가요? 단순히 7%쯤 변한 것 같은데..이게 큰 것인지 작은 것인지 감이 없어서 잘 모르겠어요
      P234에서 학습 곡선 그래프에서 y축의 score는 앞 장의AUC 인가요?
      300개 이상이면 과적합 위험이 낮아진다는 것은 데이터 샘플이 300개 이상이어야 한다는 것인가요?
      피처 엔지니어링 챕터 시작할 때 현실적으로 데이터 수를 늘리면 좋지만 어렵다고 언급 되었는데...확보 가능한 샘플이 300개가 아닌 대략 200개 남짓이면 음...모델을 사용하지 못하는 것인지 마지막 결과를 어떻게 활용해야 하는지...잘 모르겠습니다.