Data scientist 42

SVM + Python_Code

◎ Support Vector Machine(SVM) ◆ 종속 변수 데이터 형태에 따라 둘로 나뉜다. ◇ 범주형 변수 : Support vector classifier ◇ 연속형 변수 : Support vector regression (SVR) ◆ SVM 계산 ◆ SVM with Kernel - 선형 관계가 아닌 경우에 사용 - 비선형 구조의 데이터를 fitting할 때, Kernel을 사용할 필요가 있음 - 차원이 높아짐에 따라 추정해야 하는 모수의 개수가 많아짐에 따라 Test error가 높아지는 현상 발생 ◆ One-Class SVM - 종속변수 정보가 없는 자료를 요약하는 데, SVM을 사용 ◆ SVR Support vector machine 실습¶ 1. 데이터 불러오기, 및 SVM 적합¶ In..

LDA + Python_Code

◎ 수학적 개념 이해 ◎ Linear Discriminant Analysis(LDA) ※ LDA 결과 얻게 되는 decision boundary의 특징 : 평균의 차이는 최대화, 두 분포의 각각의 분산은 최소화 ◎ LDA의 심화적 이해 LDA decision boundary는 분산대비 평균의 차이를 극대화 하는 boundary 장점1 : Naive bayes 모델과 달리, 설명변수간의 공분산 구조를 반영 장점2 : 가정이 위반되더라도 비교적 robust 단점1 : 가장 작은 그룹의 샘플 수가 설명변수의 개수보다 많아야 함 단점2 : 정규분포 가정에 크게 벗어나는 경우 잘 설명하지 못함 단점3 : y범주 사이에 공분산 구조가 다른 경우를 반영하지 못함 Linear Discriminant Analysis 실..

K-NN + Python_Code

◎ K-Nearest Neighbors K-최근접 이웃(K-Nearest Neighbor, KNN)은 지도 학습 알고리즘 중 하나입니다. 데이터가 주어지면 그 주변(이웃)의 데이터를 살펴본 뒤 더 많은 데이터가 포함되어 있는 범주로 분류하는 방식입니다. ◎ 수학적 개념 이해 ⓐ Cross-validation : 과적합, sample loss를 해결하기 위해 사용 - k-fold cross validation ※ Test error : 데이터에 따라 최적의 k가 존재 k-Nearest Neighborhood Algorithm 실습¶ 1. 데이터, 모듈 불러오기 및 kNN 피팅 방법¶ 함수 불러오기 In [1]: from sklearn import neighbors, datasets In [2]: impor..

Naive Bayes + Python_Code

◎ 수학적 개념 이해 ※ 조건부 확률 ※ 베이즈 정리 ◎ Naive Bayes Classifier 설명변수 간의 독립을 가정 설명변수와 반응변수를 분리하여 생각 ※ 위의 경우 Yes와 No를 비교하여 큰 경우의 수를 선택 Naive Bayes 실습¶ 1. Gaussian Naive Bayes¶ 데이터, 모듈 불러오기 In [1]: from sklearn import datasets from sklearn.naive_bayes import GaussianNB In [2]: import pandas as pd In [3]: iris = datasets.load_iris() df_X=pd.DataFrame(iris.data) df_Y=pd.DataFrame(iris.target) In [4]: df_X.hea..

PCA + Python_Code

◎ 차원의 저주 차원이 커질수록 한정된 자료는 커진 차원의 패턴을 잘 설명하지 못한다. 차원이 증가함에 따라 model complexity가 기하급수적으로 높아진다. 주성분분석(PCA)은 서로 상관관계를 갖는 많은 변수를 상관관계가 없는 소수의 변수로 변환하는 차원축소 기법 ◎ 공분산 행렬(Covariance matrix)의 정의 공분산 행렬은 일종의 행렬로써, 데이터의 구조를 설명해주며, 특히 특징 쌍(feature pairs)들의 변동이 얼마나 닮았는가(다른 말로는 얼마만큼이나 함께 변하는가)를 행렬에 나타내고 있다. ◎ Principal Components 차원을 줄이면서 정보의 손실을 최소화하는 방법 변환에 사용하는 소수의 변수를 주성분(Principal component) 또는 성분(compon..

회귀분석(4)_로지스틱 회귀분석

◎ 로지스틱 회귀분석 로지스틱 회귀는 출력 변수를 직접 예측하는 것이 아니라, 두 개의 카테고리를 가지는 binary 형태의 출력 변수를 예측할 때 사용하는 회귀분석 방법 ◎ 로지스틱 회귀계수 추정 단순 선형회귀의 최소제곱법을 사용하는 것이 아닌 최대우도법을 사용 ◎ 회귀계수 축소법 ※ 분석용 데이터의 이상적 조건 독립변수 X 사이에 상관성이 작아야 이상적이다. 독립변수 X와 종속변수 Y의 상관성은 커야한다. 많은 양질의 데이터(결측치와 노이즈가 없는 깨끅한 데이터) 필요하다. ※ 회귀계수를 축소하는 이유 영향력이 없는 입력 변수의 계수를 0에 가깝게 가져간다면, 모형에 포함되는 입력 변수의 수를 줄일 수 있다. ○ 입력 변수의 수를 줄이면 세 가지 장점이 존재 잡은(noise)을 제거해 모형의 정확도를..

회귀분석(3)_변수선택법 Code

해당 데이터를 활용한 3가지 변수선택법 실습 코드 In [1]: import os import pandas as pd import numpy as np import statsmodels.api as sm from sklearn.model_selection import train_test_split In [2]: # 데이터 불러오기 df= pd.read_csv('C:/Users/설위준/Desktop/05-11--machine-learning/Part 05~11) Machine Learning/06. 회귀분석/실습코드/ToyotaCorolla.csv') df.head() Out[2]: Id Model Price Age_08_04 Mfg_Month Mfg_Year KM Fuel_Type HP M..