머신러닝 기본 개념

문호준·2022년 10월 27일
0

머신러닝의 기본 개념에 대해 알아보는 시간을 가졌다.

머신러닝은 기계학습을 뜻하고, 정답이 있냐 없냐에 따라 지도학습과 비지도 학습으로 나뉨.
지도학습 : 분류, 회귀
비지도학습 : 군집화, 변환, 연관

Supervised learning(지도학습)

큰흐름

Fit : 학습

Predict : 예측

Evaluate : 평가

unsupervised learning(비지도학습)

여기서 지도학습을 보면 분류는 예측값이 카테고리와 같은 범주형이고, 회귀는 연속형 양적 자료이다.

머신러닝의 학습과 예측 전체 과정

  • feature_names : 학습(훈련), 예측에 사용할 컬럼을 리스트 형태로 만들어서 변수에 담아줍니다.
  • label_name : 정답값
  • X_train : feature_names 에 해당되는 컬럼만 train에서 가져옵니다.
    • 학습(훈련)에 사용할 데이터셋 예) 시험의 기출문제
  • X_test : feature_names 에 해당되는 컬럼만 test에서 가져옵니다.
    • 예측에 사용할 데이터셋 예) 실전 시험문제
  • y_train : label_name 에 해당 되는 컬럼만 train에서 가져옵니다.
    • 학습(훈련)에 사용할 정답 값 예) 기출문제의 정답
  • model : 학습, 예측에 사용할 머신러닝 알고리즘
  • model.fit(X_train, y_train) : 학습(훈련), 기출문제와 정답을 가지고 학습(훈련)하는 과정과 유사합니다.
  • model.predict(X_test) : 예측, 실제 시험을 보는 과정과 유사합니다. => 문제를 풀어서 정답을 구합니다.
  • score
    • 시험을 봤다면 몇 문제를 맞고 틀렸는지 채점해 봅니다.
  • metric
    • 점수를 채점하는 공식입니다. (예를 들어 학교에서 중간고사를 봤다면 전체 평균을 계산해 줍니다.)

Scikit learn

장점:

간단하고 효율

누구나 접근 가능하고 다양한 맥락에서 사용가능

오픈 소스, 상업적으로 사용 가능

단점 :

딥러닝 및 강화학습을 지원하지 않음

특징

다른 많은 python 라이브러리와 통합이 잘 됨

머신러닝 대표 알고리즘

DecisionTree
결정에 다다르기 위해 스무고개와 같은 예/아니오 질문을 이어나가면서 학습한다

각 네모칸을 트리의 노드(node)
마지막 노드는 리프 노드(leaf node)
에지(edge)는 질문의 답과 다음 질문을 연결한다.

특징 : 내부적인 기준을 통해 참/거짓 판별 후 노드가 뻗어나가는 형태

장점 :
시각화하기 편하고, 직관적으로 이해가 가능, 훈련된 과정을 명확하게 알 수 있음.
데이터 스케일에 구애받지 않음. 따라서 전처리하는 과정이 필요없음.

단점 :
과대적합 문제가 발생할 수 있음

불러오기 :

from sklearn.tree import DecisionTreeClassifier

k-최근접 이웃 회귀

주변의 가장 가까운 K개의 샘플을 통해 값을 예측하는 방식이다. 예를 들어 가장 간단한 방식으로는 K개 샘플의 평균을 이용할 수 있다.

예측하려는 샘플에 가장 가까운 샘플 k개를 선택한다. 그 다음이 샘플들의 클래스를 확인하여다수 클래스를 새로운 샘플의 클래스로 예측한다. 쉽게 말하면 C 주변에 A 가 1개, B 가 2개 일경우 C == B 다 라는 공식을 이용한다는 말이다.

특징 :
이웃 샘플들의 값을 토대로 타깃값을 예측

장점 :
직관적 추론이 가능하며, 극단적인 값의 영향을 적게 받음

단점 :
테스트하고자 하는 샘플에 근접한 훈련 데이터가 없는 경우 즉, 이상치 샘플을 제대로 예측하기 힘듬.

profile
고수

0개의 댓글