일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준
- spring
- Prefix Sums
- Design Pattern
- 확률
- CSS
- dataframe
- Photoshop
- 상태
- 수학
- Javascript
- grid
- 소수
- Codility
- 강화학습
- skt membership
- series
- 포토샵
- c++
- Flexbox
- Gap
- stl
- 통신사할인
- margin
- align-items
- 에라토스테네스의 체
- SK바이오사이언스
- c
- pandas
- 알고리즘
Archives
- Today
- Total
sliver__
[Pandas 데이터 분석] Chapter 7- 머신러닝 데이터 분석 본문
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
'CS > Pandas' 카테고리의 다른 글
[Pandas 기초] DataFrame(데이터프레임) (0) | 2022.03.05 |
---|---|
[Pandas 기초] Series(시리즈) (0) | 2022.03.03 |
[Pandas 데이터 분석] Chapter 6- 데이터 프레임의 다양한 응용 (0) | 2022.02.27 |
[Pandas 데이터 분석] Chapter 5 - 데이터 사전 처리 (0) | 2022.02.26 |
[Pandas 데이터 분석] Chapter 3 - 데이터 살펴보기(2) (0) | 2022.02.23 |
Comments