data-science-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=..