아가개발자/머신러닝
-
판별 분석 (Discriminant Analysis)아가개발자/머신러닝 2020. 10. 12. 14:54
판별 분석이란? : 두개 이상의 모집단에서의 표본들이 지닌 정보 (분포)를 이용하여 이 표본들이 어느 모집단에서 추출된 것인지 결정하는 기준을 찾는 분석법 클래스 구분이 어려운 LD2에 투영된 판별 벡터보다 두개의 클래스를 잘 구분지어주는 LD1에 투영된 판별벡터를 찾아주어야 함 판별 분석의 기초개념 판별 변수: 어떤 집단에 속하는지 판별하기 위한 변수로 독립 변수 중 판별력이 높은 변수를 뜻한다. 판별변수는 판별 변수와 상관관계가 적은 독립 변수를 선택하여 판별 함수를 만들어야 한다. 판별 함수: 판별 함수를 이용하여 각 개체들이 소속 집단에 얼마나 잘 판별되는가에 대한 판별력을 측정하고 각 집단을 가장 잘 구분할 수 있는 판별식을 만들어 분별하는 과정 판별 점수: 판별 함수에 어떤 대상을 대입하여 그..
-
multiple logistic regression 실습아가개발자/머신러닝 2020. 10. 9. 02:51
multiple logistic regression(다중 로지스틱 회귀): Y값이 범주형 숫자로 된 데이터에 회귀를 적용하는 모델 범주형 숫자로 된 데이터 즉, 분류 문제는 Linear regression으로는 문제를 해결할 수 없지만 Logistic regression을 적용하여 회귀로 문제를 해결할 수 있다. 로지스틱 회귀 개념 포스트 본 포스팅에서 실습할 문제는 wine dataset을 이용하여 wine의 종류를 분류하는 문제를 풀어볼 것이다. (사용한 라이브러리의 매뉴얼은 접은글에 첨부하였음) 데이터셋 로드 wine 데이터는 sklearn을 이용하여 불러올 수 있다. 왠만하면 sklearn.datasets. 라이브러리를 이용하여 학습에 자주 쓰이는 유명한 데이터는 다운받을 수 있다. 더보기 man..
-
로지스틱 회귀-Logistic regression아가개발자/머신러닝 2020. 9. 28. 19:18
로지스틱 회귀 범주형 숫자로 이루어진 데이터를 사용하여 회귀 계수를 추정하는 모델 S-커브 함수를 나타냄 (시그모이드 함수) → 출력 값이 항상 0과1 사이의 값을 가짐 승산 (Odds) 임의의 사건 A가 발생하지 않을 확률 대비 일어날 확률의 비율 odds = P(A) / 1 - P(A) P(A)가 1에 가까울 수록 승산은 커진다. P(A)가 0일 경우 승산도 0 이항 로지스틱 회귀 Y=b0+b1x1+b2x2+...+bkxk Y가 범주형 일 경우, 회귀 모델을 적용할 수 없음 1. Y를 확률식으로 바꿔줌 좌변의 범위는 [0,1], 우변의 범위는 [-inf, inf] 2. Y를 승산으로 바꿔줌 좌변의 범위는 [0, inf], 우변의 범위는 [-inf, inf] 3. Y 승산에 로그를 취해줌 좌변의 범위는..
-
다중선형회귀 - Multiple Linear Regression아가개발자/머신러닝 2020. 9. 28. 15:15
다중선형회귀 수치형(실수형) 설명 변수와 연속형 숫자로 이루어진 종속 변수 간의 관계를 선형으로 가정하여 회귀 계수를 추정하는 모델 → y=b0+b1x1+b2x2+...+bkxk b : 회귀 변수 x : 설명 변수 회귀 계수 결정 법 - Direct Solution 실제 값 Y와 예측 값 Y'의 오차제곱 합을 최소로 하는 값을 회귀 계수로 선정 최적의 계수를 회귀 계수에 대한 미분한 식을 0으로 놓고 풀어 해를 구함 → X, Y 데이터 만으로 회귀 계수를 구할 수 있음 - Numerical Search 경사하강법: 임의의 시작점을 잡아 해당 지점에서의 그래디언트(경사)를 구하고, 그래디언트의 반대 방향으로 조금씩 이동하는 과정을 여러 번 반복함 1. Batch Gradient Descent(GD) 파라미..
-
KNN classification - iris아가개발자/머신러닝 2020. 9. 18. 17:23
데이터셋 불러오기 # seaborn 라이브러리 사용 import seaborn as sns iris = sns.load_dataset('iris') X = iris.drop('species', axis = 1) y = iris['species'] #sklearn 라이브러리 사용 from sklearn.datasets import load_iris iris = load_iris() 더보기 manual: seaborn.pydata.org/generated/seaborn.load_dataset.html?highlight=load_dataset#seaborn.load_dataset seaborn.load_dataset — seaborn 0.11.0 documentation If True, try to load ..
-
K-최근접 이웃(KNN: K-Nearest Neighbors)아가개발자/머신러닝 2020. 9. 18. 16:39
KNN (K-Nearest Neighbors) : 주변 K개의 자료의 class로 분류하는 방식 x의 class를 점선 동그라미 범위 안의 K개의 class 분포를 보고 예측 파란 동그라미 3개, 초록 세모 2개 → x = 파란 동그라미 (투표 방식) KNN은 게으른 학습(lazy learner), 사례중심 학습(instance-based learning)이라고 불림, 예측 모델을 만들고 파라미터를 추정하는 방식이 아니기 때문 가중 합 방식 (Weighted voting) : 가까운 이웃의 정보에 가중치를 부여 오른쪽 그래프의 x의 예측 class는 파란 동그라미, 왼쪽 그래프의 x의 예측 class는 초록 세모 K값이 바뀌면 예측한 class 값이 달라질 수 있음 → 가중 합 방식 사용 KNN의 장단점..
-
데이터 전처리와 최적화2 - 데이터 변환/데이터 정제/데이터 통합/데이터 불균형아가개발자/머신러닝 2020. 9. 15. 21:48
데이터 변환(Data Transformation) - 데이터가 가진 특성들을 비교하여 데이터 패턴을 찾을 때, 특성 간 스케일 차이가 심하면 패턴을 찾는데 문제가 발생하기 때문에 변환이 필요함 (정규화, 로그, 평균값 계산 등을 이용하여 데이터를 구간 화 하는 작업) 표준화 (Standardization): 데이터 특성이 Bell Shape 분포를 보이거나, 이상치 (노이즈 등)가 있을 때 유용 정규화 (Normalization): 정규화가 표준화보다 대체로 유용 데이터 정제(Data Cleaning) - 없는 데이터를 채우고, 잡음 데이터 제거, 모순 데이터 교정을 하는 작업 결측 데이터 채우기 from numpy import * import numpy as np x_miss = np.array([[1..
-
데이터 전처리와 최적화 - 데이터 실수화 (Data Vectorization)아가개발자/머신러닝 2020. 9. 15. 18:13
데이터 전처리 기법 데이터 실수화 (Data Vectorization) 데이터 정제 (Data Cleaning) 데이터 통합 (Data Integration) 데이터 축소 (Data Reduction) 데이터 변환 (Data Transformaion) 데이터 균형 (Data Balancing) 데이터 실수화(Data Vectorization) - 범주형 자료, 텍스트 자료, 이미지 자료 등을 실수로 구성된 형태로 전환 범주형 자료의 실수화 ID City 1 Seoul 2 Dubai 3 LA id City1 City2 City3 1 1 0 0 2 0 1 0 3 0 0 1 Scikit-learn의 DictVectorizer함수를 이용하여 범주형 자료를 실수화 from sklearn.feature_extrac..