본문 바로가기
오늘의 복습 정리

머신러닝_용어/사용법

by misohee 2023. 3. 6.

용어 정리

모델 : 데이터에서 패턴을 찾아 수학식으로 정리한 것

모델링 : 오차가 작은 모델을 만드는 과정

 

독립변수 : 변수 간 연관 없이 독립적으로 변할 수 있는 값. X

종속변수 : 종속적으로 변하는 값. Y

 

오차 : 실제값과의 차이 (오차는 작을수록 좋다.)

         #평균도 모델 중 하나. 따라서 적어도 평균의 오차보다 작은 오차를 내야한다.

 

과대적합 : 학습 데이터를 너무 깊이 학습해 학습 데이터만 잘 예측하고 실제 데이터를 예측하지 못하는 경우

과소적합 : 학습 데이터가 부족해 예측 성능이 떨어지는 경우

 

머신러닝 분류

머신러닝 분류 (기준: 학습 방법)
지도학습 정답이 있는 데이터. 규칙성, 데이터의 패턴을 배우게 하는 방법
비지도학습 정답이 없는 데이터
강화학습 선택 결과에 대한 보상을 통해 행동을 개선하며 배우게 하는 방법
머신러닝 분류 (기준 : 과제)
지도학습 분류(범주형 결과) 적절히 분류된 데이터를 학습하여 규칙을 찾고,
이 규칙을 기반으로 새로운 데이터를 적절히 분류하기
회귀(연속형 결과) 결과값이 있는 데이터를 학습하여 입력값, 결과값의 연관성을 찾고,
새로운 데이터에 대한 값을 예측하기
비지도학습 클러스터링(군집화) 데이터 학습을 통해 적절한 분류 규칙을 찾아 데이터를 분류하고 그룹으로 묶기
(정답이 없기 때문에 성능평가가 어려움)
변환 쉽게 이해가능한 형태로 데이터 표현
연관 연관된 특징을 찾기
강화학습    
머신러닝 분류 (기준 : 과제)
지도학습 분류 알고리즘 DecisionTreeClassifier
KNeighborsClassifier
LogisticRegression
SVC
RandomForestClassifier
XGBClassifier
평가 accuracy_score
recall_score
precision_score
classification_report☆
confusion_matrix☆
f1_score
회귀 알고리즘 LinearRegression
KNeighborsRegressor
DecisionTreeRegressor
SVR
RandomForestRegressor
XGBRegressor
평가 mean_absolute_error
mean_squared_error
rootmean_squared_error
mean_absolute_percentage_error
r2_score

데이터 나누기

# x, y 분리
target = '타겟열이름'
x = data.drop(target, axis=1)  #타겟열 외 나머지를 x에 할당
y = data.loc[:, target] #data 중 타겟열을 조회해 y에 할당

 

# train, test데이터로 나누기(순서 중요!)

from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split ( x, y, test_size = 0.3 )

분류, 회귀 별 불러오기

  회귀 분류
알고리즘함수
불러오기
from sklearn.______ import 알고리즘함수 from sklearn.______ import 알고리즘함수
  LinearRegression
KNeighborsRegressor
DecisionTreeRegressor
SVR
RandomForestRegressor
XGBRegressor 
  DecisionTreeClassifier
KNeighborsClassifier
LogisticRegression
SVC
RandomForestClassifier
XGBClassifier
알고리즘평가함수
불러오기
fromsklearn.metrics import 알고리즘 평가 함수 fromsklearn.metrics import 알고리즘 평가 함수
   mean_absolute_error
 mean_squared_error
 rootmean_squared_error
 mean_absolute_percentage_error
 r2_score
  accuracy_score
recall_score
precision_score
classification_report
confusion_matrix
f1_score

모델링 구조

#불러오기

from sklearn.linear_model import 알고리즘함수
from sklearn.metrics import 알고리즘 평가 함수

#선언하기

model = 알고리즘함수( )

#학습하기

model.fit (x_train, y_train)

#예측하기

y_pred =  model. predict (x_test)

#평가하기

알고리즘 평가 함수 (y_test, y_pred)


#파이썬 오류가 아닌 '경고' 메세지가 뜨지 않게 하기
import warnings
warnings.filterwarnings(action='ignore')
%config InlineBackend.figure_format='retina'

 

#Tree의 가지가 얼마나 뻗어나갈지 정해주는 옵션.

따로 설정하지 않으면 기본값은 끝까지 뻗어나간다. (max_depth)
Ex) model = DecisionTreeClassifier(max_depth=3)