sliver__

[Pandas 데이터 분석] Chapter 7- 머신러닝 데이터 분석 본문

CS/Pandas

[Pandas 데이터 분석] Chapter 7- 머신러닝 데이터 분석

sliver__ 2022. 3. 1. 01:36
728x90

[머신러닝 개요]

  • 머신러닝이란 기계 스스로 데이터를 학습하여 서로 다른 변수 간의 관계를 찾아 나가는 과정.
  • 예측, 분류, 군집 알고리즘 등로 분류된다.

 

  • 지도학습 vs 비지도 학습
    • 지도 학습 : 정답 데이터를 다른 데이터와 함께 컴퓨터 알고리즘에 입력하는 방식
    • 비지도 학습 : 정답 데이터 없이 컴퓨터 알고리즘 스스로 데이터로부터 숨은 패턴을 찾아내는 방식
구분 지도 학습 비지도 학습
알고리즘 회귀분석

분류
군집분석
특징 정답을 알고 있는 상태에서 학습

모형 평가 방법이 다양한 편
정답이 없는 상태에서 서로 비슷한 데이터를 찾아서 그룹화

모형 평가 방법이 제한적

 

 

  • 머신러닝 프로세스
    • 데이터 분석을 시작하기 전에 데이터를 변환하는 작업이 선행되어야 한다.
    • 모형 학습에 사용되는 데이터를 훈련 데이터(train data)라고 한다.
    • 학습을 마친 모델을 평가하기 위한 데이터를 검증 데이터(test data)라고 한다.

 

※ 데이터 정리 -> 데이터 분리(훈련/검증) ->

알고리즘 준비 -> 모형 학습(훈련 데이터) -> 예측(검증 데이터) -> 모형 평가 -> 모형 활용

 


[회귀 분석]

  • 연속적인 값을 갖는 연속 변수를 예측하는데 주로 활용된다.
  • 모델이 예측하고자 하는 목표를 종속(dependenet) 변수 또는 예측(predictor)변수라고 부른ㄷ다.
  • 예측을 위해 모형이 사용하는 속성을 독립변수 또는 설명변수라고 한다.

 

  • 단순회귀분석
    • 단순회귀분석(Simple Linear Reegression) : 두 변수 사이에 일대일로 대응되는 확률적, 통계적 상관성을 찾는 알고리즘이다.

$$ y = ax + b $$

  • 다항회귀분석
    • 다항회귀분석(Polynomial Regression) : 2차함수 이상의 다항 함수를 이용하여 두 변수 간의 선형관계를 설명하는 알고리즘이다.

$$ y = ax^2 + bx + c $$

 

  • 다중회귀분석
    • 다중회귀분석(Multivariate Regression) : 여러 개의 독립 변수가 종속 변수에 영향을 주고 선형 관계를 갖는 경우

$$ y = b + a_1 X_1 + a_2 X_2 + ... + a_n X_n$$

 

 


[분류]

  • 예측하려는 대상의 속성(X)을 입력받고, 목표 변수가 갖고 있는 카테고리 값 중에서 어느 한 값으로 분류하여 예측한다.
  • 훈련 데이터에 목표 변수 값(0 또는 1)을 함께 입력하기 때문에 지도 학습 유형에 속하는 알고리즘이다.
  • 목표 변수가 카테고리 값을 갖는 경우에 사용한다.
  • KNN, SVM, Decision Tree, Logistic Regression 등 다양한 알고리즘이 존재한다.

 

  • KNN
    • KNN(K-Nearest-Neighbors) : 새로운 관측값이 주어지면 기존 데이터 중에서 가장 속성이 비슷한 k개의 이웃을 먼저 찾는다.
    • 그리고 가까운 이웃들이 갖고 있는 목표 값과 같은 값으로 분류하여 예측한다.
    • 적절한 k값을 찾는 것이 매우 중요하다.

 

  • 분류 모형의 예측력을 평가하는 지표
    • Confusion Matrix : 모형이 예측하는 값에는 두 가지 (True / False)가 있고, 각 예측값은 실제로 True이거나 False 일 수 있다.
에측값 T TP(True Positive) FP(False Positive)
F FN(False Negative) TN(True Negative)
  T F
  실제 값
  • 정확도(Precision) : True로 예측한 분석대상 중에서 실제 값이 True인 비율을 말하며, 모형의 정확성을 나타내는 지표가 된다.

$$ Precision = {(TP) \over (TP + FP)} $$

 

  • 재현율(Recall) : 실제 값이 True인 분석대상 중에서 True로 예측하여 모형이 적중한 비율을 말하며, 모형의 완전성을 나타내는 지표

$$ Recall = {TP \over (TP+FN)} $$

 

  • F1 지표(F1-score) : 정확도와 재현율이 균등하게 반영될 수 있도록 정확도와 재현율의 조화평균을 계산한 값으로, 모형의 예측력을 종합적으로 평가하는 지표이다. 값이 높을수록 분류 모형의 예측력이 좋다고 말할 수 있다.

$$ F1-score = {2*(Precision * Recall) \over {Precision + Recall}} $$

 

  • SVM
    • Support Vector Machine(SVM) : 데이터셋의 여러 속성을 나타내는 데이터프레임의 각 열은 열 벡터 형태로 구현된다. 열 벡터들이 축을 갖는 벡터 공간을 같은 분류 값을 갖는 데이터들끼리 분류한다.
  • Decision Tree
    • 트리 구조를 사용하며, 각 분기점에는 분석 대상의 속성들이 위치한다.
    • 각 분기점마다 목표 값을 가장 잘 분류할 수 있는 속성을 찾아서 배치하고, 해당 속성이 갖는 값을 이용하여 새로운 가지를 만든다.
    • 모델의 트리 레벨을 지정할 수 있는데, 트리 레벨이 많아질수록 모형 학습에 사용하는 훈련 데이터에 대한 예측은 정확해진다.
    • 하지만 모형이 훈련 데이터에 대해서만 지나치게 최적화되어 실제 데이터 예측 능력은 떨어지는 문제가 발생한다.
    • 따라서 적정한 레벨값을 찾는것이 중요하다.

[군집]

  • Clustering : 데이터셋의 관측값이 갖고 있는 여러 속성을 분석하여 서로 비슷한 특징을 갖는 관측값끼리 같은 클러스터로 묶는 알고리즘이다.
  • 어느 클러스터에도 속하지 못하는 관측값(이상값, 중복값)을 탐지하는데 사용한다.
  • 비지도 학습유형이다.
  • K-means, DBSCAN 알고리즘 등 여러가지가 존재한다.

 

  • K-means
    • 데이터 간의 유사성을 측정하는 기준으로 각 클러스터의 중심까지의 거리를 이용한다.
    • 벡터 공간에 위치한Eh 어떤 데이터에 대하여 k개의 클러스터가 주어졌을 때 클러스트의 중심까지 거리가 가장 가까운 클러스터로 해당 데이터를 할당한다. 
    • 다른 클러스터 간에는 완전히 구분하기 위하여 일정 거리 이상 떨어져야 한다.
  • DBSCAN
    • DBSCAN(Density - Based Spatial Clustering of Applications with Nose) 
    • 데이터가 위치하고 있는 공간 밀집도를 기준으로 클러스터를 구분한다.
    • 코어 포인트(core point) - 자기를 중심으로 반지름 R의 공간에 최소 M개의 포인트가 존재하는 점
    • 경계 포인트(border point) -  코어 포인트는 아니지만 반지름 R 안에 다른 코어 포인트가 있을 경우

참조 : 파이썬 머신러닝 판다스 데이터 분석

728x90
Comments