data-science-summary/summary
-
Association Rule (연관성 분석) in pythondata-science-summary/summary 2020. 9. 20. 20:30
Association Rule : 장바구니분석, 연관성분석 연관규칙분석이란 어떤 아이템의 집합이 번번히 발생하는가를 알려주는 일련의 규칙들을 생성하는 알고리즘 A priori Algorithm 모든 규칙들에 대한 지표를 계산한다는건 비효율적, 따라서 최소한의 지지도(support) 이상 되는 경우만을 탐색하여 효율적으로 계산함 -> {1,3} 번 아이템이 같이 나올 확률이 낮다면 {1,3, 다음 하나} 역시 확률이 낮음으로 계산하지않는다. Support : 지지도 x 와 y 가 함께 발생할 확률 -> P(A∩B) : frq(x,y)/N Confidence : 신뢰도 x가 나왔을 때 y가 나올 확률 -> P(A∩B) / P(A) : frq(x,y)/frq(X) Lift : 향상도(품목간의미) x, y 의 ..
-
RANSAC(RANdom Sample Consensus) in pythondata-science-summary/summary 2020. 9. 20. 18:34
RANSAC(RANdom Sample Consensus) 최소자승법(Linear Least Square)을 통한 예측은 아웃라이어가 있으면 크게 영향을 받는 반면 RANSAN은 가장 많은 수의 데이터들이 예측 모델 근방에 있는 모델을 선택하는 방법으로 아웃라이어에 강건하다. 데이터의 특정 두 점 또는 3점을 랜덤 선택하고 이 점으로 모델을 계산 => 모델 주위(오차범위내)의 데이터 개수를 계산 => 계산한 결과가 원하는 데이터 개수보다 적으면 다시 현재 오차범위내 데이터들로 다시 모델을 추정 => 원하는 데이터 개수를 만족하면 모델을 저장 => 이를 원하는 만큼 반복한뒤 최적의 모델 선택 from sklearn.linear_model import RANSACRegressor from sklearn.mod..
-
likelihood 와 maximum likelihood method 란? 간단정리data-science-summary/summary 2020. 9. 20. 18:32
likelihood 와 maximum likelihood method 란? 헷갈리는 개념인 likelihood는 확률과 비교하면 이해가 쉽다. 확률은 모수가 특정값을 같은다와 같이 정의됨 ex) 동전 2번 던지니 모두 앞면이 나올 확률은 1/4 이다. likelihood는 동전을 던져서 모두 앞면 나온 확률이 1/4일때 동전의 앞면 확률이 될 가능성이 있는 값을 역추적으로 찾는것 그리고 이때 가장 가능성을 크게 만드는것을 Maximum likelihood Method 라고 하며 미분의 극점 등을 이용해 최대로 나오는 1/2을 추정한다. 즉, 특정 사건이 이미 발생했을때(알고있을때) 그 확률을 계산할 수 있는 가능성을 가진 값 그리고 maximum likelihood method로 최대 가능 우도 즉, 가..
-
후진 제거법 (Backward Elimination) in pythondata-science-summary/summary 2020. 9. 20. 18:29
후진 제거법 (Backward Elimination) feature selection 의 일환으로 변수를 줄인다. 모든 독립변수(설명변수)를 고려한 모델에서 유의하지 않은 설명변수를 하나씩 제거하는 방법 => 모든 변수를 입력한 뒤 가장 유의확률이 큰 설명 변수를 제외한다. 모든 설명변수가 유의하다 판정될때 까지 반복한다. # 반복적 변수 제거를 하여 변수별 중요도를 도출 from sklearn.feature_selection import RFE # 회귀용 가상 데이터 생성 from sklearn.datasets import make_regression # n_samples: 표본 데이터 수 , n_features: 독립변수 수, n_informative: 독립변수중 종속변수와 상관관계 있는 성분 수 X..
-
XGBoost in pythondata-science-summary/summary 2020. 9. 20. 18:05
Boosting 방식의 일종 Gradient boosting 보다는 빠름, GBM 에 과적합 방지가 가능한 regulation 포함된 모델 + 다양한 loss function을 지원하는 모델이다. from xgboost import XGBClassifier from sklearn.datasets import make_classification from sklearn.model_selection import train_test_split X, y = make_classification(random_state=0) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0) # max_depth : 트리의 최대..
-
LightGBM in pythondata-science-summary/summary 2020. 9. 20. 17:13
LightGBM (Gradient Boosting Algorithm) 기존 Gradient Boostring 과 같은 알고리즘은 트리 구조를 균형을 잡기위해 즉, 깊이를 줄이기위해 균형 트리(level wise) 방식으로 쌓아같지만 LightGBM 은 균형보다는 리프 노드를 지속적으로 쭉 분할(leaf wise)하면서 진행하여 비대칭이고 깊은 트리를 만든다. 따라서 연산이 덜 요구되어 빠르며 균형 트리 보다는 손실을 줄일수 있음 대용량 처리 가능, 다른 모델들보다 더 적은 자원을 사용하고 빠르다는 장점을 가지고 있음 단점은 너무 적은수의 데이터일 경우에는 과적합 문제가 발생할수 있음 from sklearn.datasets import make_classification from lightgbm impor..
-
GradientBoost in pythondata-science-summary/summary 2020. 9. 20. 17:10
GradientBoost Algorithm Boosting 방식의 일종 학습된 분류기의 약점을 알려주고 이 약점을 중점으로 보완을 하는방식 , 즉 점진적 개선이라 Gradient Leaf Node 하나로 아주 간단한 모델(A)로 시작 => 이 모델(A)로 예측하고 남은 잔차(Residual) 계산 => 그리고 이 잔차를 예측하는 모델(B)을 만들고 기존 모델(A)와 결합하여 정답 예측한다면 기존 모델(A)보다 나은 모델(B)생성가능 => 이 방법을 반복하면서 점차 나은 예측 모델을 만드는것이 GMB => 단점 : 과적합 => learning rate, regularization 을 통해 해결가능 from sklearn.datasets import make_classification from sklearn..
-
AdaBoost in pythondata-science-summary/summary 2020. 9. 20. 17:07
AdaBoost Boosting 방식의 일종 Decision Tree 를 만드는데 2개의 Leaf Node만 가지는 Tree 를 여러개(결국 feature 수만큼 stump 생성) 만든다. => 나무가 작은 즉, 그루터기(Stump) 라고 부름 만들어진 Stump 들을 순차적으로 사용하여 예측 => 그리고 데이터를 샘플링 할 때 각 데이터 마다 Weight를 줌(초기 weight 값은 1/전체 데이터수) Stump 를 거치면서 잘못 예측된 데이터는 weight 는 점점 커짐 그럼 Stump 의 순서도 중요한데 각 Stump 중 가장 불순도(Inpurity)가 작은 Stump 를 먼저 사용 그런뒤 Weight 를 갱신하기 전에 정확도(amount of say)를 구하고 틀린 데이터는 기존 Weight * ..