파이썬 라이브러리를 활용한 머신러닝 - 지도학습

화이팅·2023년 2월 23일
0

machine_learning

목록 보기
7/12

출처 : 파이썬 라이브러리를 활용한 머신러닝 - 한빛미디어

1. knn

  • 이해하기 쉬운 모델이지만 예측이 느리고 많은 특성 처리하는 능력 부족해 현업에서 잘 쓰이지 않음

2. 선형모델 : 입력 특성에 대한 선형 함수 만들어 예측 (첫 번째로 시도할 알고리즘)

  • knn 단점 없는 모델
  • 특성이 많은 데이터셋이라면 어떤 타깃 y도 완벽하게 선형 함수로 모델링할 수 있음
  • 회귀모델 alpha가 클수록, linearsvc, logisticregression C가 작을수록 모델 단순해짐

1) 선형회귀(최소제곱법) : 예측값과 타깃값의 차이를 제곱하여 더한 후 샘플 개수로 나눔

  • 매개변수 없음 -> 모델의 복잡도 제어 x
  • 기울기 파라미터 = 가중치 = 계수 : lr.coef_속성에 저장되어 있음
  • 편향 = 절편= 파라미터 : lr.intercept_속성에 저장되어 있음 (사용자가 지정한 매개변수와 구분하기 위해 밑줄사용)

2) 리지 회귀 : 가중치의 절댓값 가능한 작게 만드는 것 ( 가중치의 모든 원소 0에 가깝게 - L2규제)

from sklearn.linear_model import Ridge
ridge=Ridge().fit(X_train,y_train)
ridge.score(X_train,y_train) # 훈련세트점수
ridge.score(X_test,y_test) # 테스트세트점수

3) 라소 : 계수 0에 가깝게 -L1규제

4) 선형분류
(1) 로지스틱 회귀 : 이름은 회귀이지만 분류모델
(2) 서포트 벡터 머신

3. 나이브 베이즈 분류기 : 분류만 가능/ 선형모델과 유사, 선형 분류기보다 훈련속도 빠르지만 일반화 성능 조금 떨어짐/ 각 특성을 개별로 취급 -> 클래스별 통계 단순하게 취합

4. 결정트리

  • 매우 빠름, 데이터 스케일 조정 필요 없음/ 시각화, 설명 좋음
  • 사전 가지치기를 사용함에도 불구하고 과대적합 경향
    -> 앙상블 방법을 단일결정트리의 대안으로 사용
    앙상블: 여러 머신러닝 모델 연결/ 더 강력한 모델 만듬
    1) 랜덤 포레스트
    : 결정트리 하나보다 항상 좋은 성능/ 매우 안정적, 강력함, 데이터 스케일 조정 필요 없음
    주요 매개변수 : 브트스트랩 샘플 (n_samples) , n_estimators (트리 개수), max_features(얼마나 랜덤)
    2) 그래디언트 부스팅 : 이전 트리의 오차 보완하는 방식 / 순차적으로 트리 만듬
    주요 매개변수 : n_estimators , learning_Rate(이전 트리의 오차 보정하는 정도 조절)/ 통상 max_depth매우 작게 설정
    : 보통 더 안정적인 랜덤 포레스트 사용
    3) 배깅 : 중복허용 랜덤샘플링으로 만든 훈련세트 사용 -> 분류기 각기 다르게 학습
    4) 엑스트라 트리
    5) 에이다부스트 : 이전 모델이 잘못 분류한 샘플에 가중치 높여서 다음 모델 훈련/ 깊이가 1인 결정트리 사용 -> 경계선 직선
    분류 예측의 불확실성 추정 - scikit-learn
  1. dicision_function
  2. predict_proba
profile
하하...하.

0개의 댓글