data-science-summary/summary
-
분류 성능 측정하는법 Accuracy, Precision, Recall, F1 score, ROC, AUC in pythondata-science-summary/summary 2020. 9. 19. 17:17
분류 성능 평가하는법은 다음과 같다. # confusion matrix(분류 결과표): 타겟의 원래 클래스와 예측한 클래스가 일치하는지를 갯수로 센 결과를 표로 나타낸것 # 정답 클래스를 행으로 / 예측 클래스를 열으로 나타냄 from sklearn.metrics import confusion_matrix y_true = [2,0,2,2,0,1] y_pred = [0,0,2,2,0,2] confusion_matrix(y_true, y_pred) # 이중 특히 양성과 음성 2가지로 표현한것을 이진 분류결과표라고함 (Binary Confusion Matrix) # 예측양성 예측음성 # 실제 양성 TP FN # 실제 음성 FP TN y_true = [1,0,1,1,0,1] y_pred = [0,0,1,1,0,..
-
문자형을 인트형로 바꾸는법 label encoder in pythondata-science-summary/summary 2020. 9. 19. 17:14
label encoder 문자형을 인트형으로 변형해줌 문자형을 숫자형으로 LabelEncoder 를 통해 변형시킨뒤 이를 OneHotEncoder 로 하는것이 젤 정확할듯. from sklearn import preprocessing X = ["paris", "paris", "tokyo", "amsterdam"] le = preprocessing.LabelEncoder() le.fit(X) # 클래스 종류 le.classes_ le.transform(["paris", "paris", "tokyo", "amsterdam"]) le.inverse_transform([0, 0, 1, 2]) # 만약 두개의 컬럼을 조합하여 라벨링 하고 싶다면 import pandas as pd import numpy as np..
-
one-hot encoding 하는법 in pythondata-science-summary/summary 2020. 9. 19. 17:10
one-hot encoding one-hot(원핫)인코딩이란? 단 하나의 값만 True이고 나머지는 모두 False인 인코딩 변수를 가변수(dummy variable) 형태로 변환 / 변수를 one-hot encoding 기법을 통해 변환 하는 두가지 방법이 있음 import pandas as pd s = pd.Series(list('abca')) print(pd.get_dummies(s)) # 변수개수 하나 줄일때 drop_first=True temp = pd.get_dummies(s, drop_first=True, prefix='dummies', prefix_sep='_') df = pd.concat([s,temp], axis=1) df # one-hot encoder 사용하여 변형 from skle..
-
Logistic regression 에서 통계적으로유의한 독립변수 찾는법 in pythondata-science-summary/summary 2020. 9. 19. 16:00
로지스틱 회귀분석에서 통계적으로 유의한 독립변수는 statsmodels 에서 변수의 p_value 찾은뒤 유의수준(보통 0.05) 이하인 변수를 찾으면 된다. # 통계적으로 유의한 독립변수 찾는법 => statsmodels 사용 from sklearn import datasets import statsmodels.api as sm from sklearn.model_selection import train_test_split import pandas as pd import numpy as np breast_cancer = datasets.load_breast_cancer() X = breast_cancer.data y = breast_cancer.target cols = [i.replace(' ' , '_..
-
로지스틱 회귀(logistic regression) in pythondata-science-summary/summary 2020. 9. 19. 15:57
로지스틱 분류 LogisticRegression 일반 선형 회귀 모형 ax + b => 0과 1로 구분되는 데이터셋은 회귀분석으로는 힘듬 => 오즈비를 활용한 ln(p/1-p) = ax+b => p = 시그모이드 함수 => p 임계점에 따라 0과 1의 값으로 할당 가능 => 즉 로지스틱 모델은 다양한 변수들을 종합하여 1,0 두가지로 확률을 예측하여 분류 하는 방법 오즈(Odds)란? 성공 확률이 실패 확률에 비해 몇 배 더 높은가를 나타냄 로짓(logit)이란? 오즈 비에 로그를 씌운값 로지스틱 유도 로짓과 회귀식의 연관성 이런뒤 p를 기준으로 우변 정렬하면 로지스틱 펑션이 나옴 from sklearn import datasets from sklearn.linear_model import Logisti..
-
회귀 (연속형 변수) 측정하는법 MSE, RMSE, MAE, MPE, MAPE in pythondata-science-summary/summary 2020. 9. 18. 00:10
회귀 (연속형 변수) 측정 MSE, RMSE, MAE, MPE, MAPE 사용하여 계산 모두 Mean Error 가 들어간다. => 즉 평균을 계산할수 있는 연속형 변수 측정에 사용한다. import pandas as pd import numpy as np from sklearn import datasets from sklearn.model_selection import train_test_split datas = datasets.load_diabetes() datas.target df = pd.DataFrame(datas.data, columns = datas.feature_names) y = pd.DataFrame(datas.target, columns = ['y']) df = pd.concat([d..
-
VIF(Variance Inflation Factor) 분산팽창지수 in pythondata-science-summary/summary 2020. 9. 18. 00:05
from statsmodels.api import OLS, add_constant from sklearn import datasets from sklearn.model_selection import train_test_split import pandas as pd datas = datasets.load_diabetes() datas.target df = pd.DataFrame(datas.data, columns = datas.feature_names) y = pd.DataFrame(datas.target, columns = ['y']) df = pd.concat([df, y], axis=1) train, test = train_test_split(df, test_size=0.3, random_state=..
-
결정 계수 in pythondata-science-summary/summary 2020. 9. 17. 23:01
결정 계수 0~1 사이의 값을 가지고 1에 가까울수록 설명력(회귀분석모델이 얼마나 데이터를 잘 설명해주는지)이 높음 결정계수와 상관계수 차이 인자가 하나일떄는 상관계수의 제곱값이 결정계수값 보통결정계수를 상관계수의 제곱으로 구하긴 하지만 정확히는 결정계수는 상관계수와는 달리 여러 독립변수들이 종속변수를 설명하는지를 나타낸 수치라 다중 회귀분석에서는 다름 회귀분석에서 사용하는 수치임. 따라서 독립변수가 여러개일떄는 제곱으로 정확하게 일치하지는 않음 수정된 결정계수 Adj. R-squared 결정계수는 독립변수 개수가 많아질수록 그 값이 커짐. 따라서 표본크기와 독립변수의 수를 고려하여 계산하는데 이것이 수정된 결정계수 독립변수 2개 이상이거나 표본 200개 미만이면 수정 결정계수를 보고서에 기술할것 fro..