기본 콘텐츠로 건너뛰기

라벨이 LogisticRegression인 게시물 표시

[matplotlib]quiver()함수

[ML] 이진 분류 추정기의 평가

이진분류기의 평가 이진 분류를 위해 로지스틱 모델을 사용합니다. 모델 생성을 위해 사용한 데이터셋은 pima-indians-diabetes.csv로서 Kaggle 에서 가져올 수 있습니다. 이 파일은 .csv 형식이므로 pandas.read_csv("경로")를 통해 호출할 수 있습니다. import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score, precision_score, recall_score, roc_auc_score from sklearn.metrics import f1_score, confusion_matrix, precision_recall_curve, roc_curve from sklearn.preprocessing import StandardScaler, Binarizer from sklearn.linear_model import LogisticRegression data = pd.read_csv('pima-indians-diabetes.csv') data.head(3) preg plas pres skin test mass pedi age class 0 6 148 72 35 0 33.6 0.627 50 1 1 1 85 66 29 0 26.6...

[ML]로지스틱회귀(Logistic Regression)

내용 로지스틱회귀 비용함수 LogisticRegression() 결정경계 주가 자료에 적용 로지스틱회귀(Logistic Regression) 로지스틱회귀 로지스틱 회귀분석은 독립변수(특성, 설명변수)에 대해 2개의 클래스를 가진 반응변수(라벨)를 로짓변수(logit variavble) 즉, 반응변수의 발생 확률의 자연로그로 변환한 후 특정한 클래스에 속하는 확률(최대우도)을 추정 하기 위해 사용됩니다. 그러므로 이 회귀 모델은 이진분류기(binary classificatier)를 구축하게 됩니다. 선형회귀와 유사하게 로지스틱회귀 역시 입력 변수들과 가중치들의 곱이 계산됩니다. 그러나 선형회귀의 경우 이 곱의 결과가 직접적으로 사용되는 것에 비해 로지스틱 회귀의 경우는 시그모이드 함수(sigmoid function) 을 통해 [0, 1] 사이의 값으로 변환시킵니다. 즉, 식 1과 같은 연산에 의해 인스턴스의 결과(확률)가 계산됩니다. \begin{align} \hat{p}&=h_\beta(x)=\sigma\left(x^T\beta\right)\\ \tag{식1} t&=x^T\beta\\ \sigma(t)&=\frac{1}{1+\exp(-t)}\end{align} 식 1의 시그모이드 함수(σ())는 변수와 가중치의 곱의 결과를 0과 1사이의 값으로 변환합니다. import numpy as np import pandas as pd import yfinance as yf import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline font1={"size":11, 'weight': "bold"} sns.set_style("darkgrid") def sigmoid(x): return 1/(1+np.exp(-x)) t=np.li...