ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Machine Learning 실습 (13)
    Machine Learning 2022. 7. 15. 09:07

    4.8 모델 선택 및 학습

    from sklearn.tree import DecisionTreeClassifier # 분류 예측기
    from sklearn.model_selection import cross_val_score # 교차검증 도구
    # 교차 검증 - tree 모델의 성능은 어느정도 될지 확인 방법
    # 일반화 성능 측정
    tree_model = DecisionTreeClassifier()
    # max_depth 모델의 깊이 설정
    # 모델의 깊이가 깊어지면 규칙이 많아짐 -> 모델이 복잡해짐
    # train 에 대한 성능은 좋을 수 있지만, test에 대한 성능 떨어질 확률이 높음
    # => 과대적합
    # train 에 대한 성능도 떨어지고, test 에 대한 성능도 현저히 떨어질 확률이 높음
    # => 과소적합
    # 머신러닝의 궁극적인 목표
    # 과대, 과소가 아닌 일반화 학습이 잘된 모델을 찾는 것 => 일반화 모델
    # 100%(1.0) 다맞춤
    # 0.0 못맞춤
    # 교차 검증 횟수 cv
    result = cross_val_score(tree_model,X_train,y_train,cv=5)
    print("결과 : ",result)
    print('평균 : ',result.mean())

    # tree모델 정의
    tree_model = DecisionTreeClassifier(max_depth = 5)
    result2 = cross_val_score(tree_model,X_train,y_train,cv=5)
    print("결과 : ",result2)
    print('평균 : ',result2.mean())

    4.8.1 학습

    # fit() 모델 학습
    # 데이터에 맞춰서 모델이 학습함
    tree_model.fit(X_train, y_train)
    # X 대문자 쓴 이유 : 컬럼의 개수가 많음
    # y 소문자 쓴 이유 : 컬럼 1개

    4.9 모델 예측 및 평가 (kaggle 업로드)

    # test가 있을 때 평가하는 방법
    # tree_model.score(X_test, y_test) # 분류 성능평가 지표 - accuracy 정확도
    
    # from sklearn.matrics import accuracy_score # 정확도 도구
    # accuracy_score(pred, y_test) # 분류 성능평가 지표 - accuracy 정확도
    
    pre = tree_model.predict(X_test)
    pre

    4.9.1 답안지 파일 불러오기

    result = pd.read_csv('./titanic/gender_submission.csv')
    result['Survived'] = pre
    # csv 파일로 저장
    result.to_csv('./titanic/submission01.csv', index = False)
    # 과대적합을 제어하는 방법
    # 1. 모델 측면 - max_depth (하이퍼 파라미터 : 사용자 정의 매개변수) 변경
    # 2. 데이터를 다시 만지는 방법(답 레이블의 다양성 유지, 새로운 컬럼 추가(특성공학))

    'Machine Learning' 카테고리의 다른 글

    Machine Learning 실습 (15)  (0) 2022.07.18
    Machine Learning 실습 (14)  (0) 2022.07.18
    Machine Learning 실습 (12)  (0) 2022.07.14
    Machine Learning 실습 (11)  (0) 2022.07.14
    Machine Learning 실습 (10)  (0) 2022.07.14

    댓글

Designed by Tistory.