Scikit-learn: 파이썬 기반의 대표적인 머신러닝 라이브러리
파이썬 기반의 대표적인 머신러닝 라이브러리로, 말그대로 '파이썬 스러운' 라이브러리이다.
머신러닝을 위한 다양한 알고리즘, 프레임워크, API를 제공한다.
많이, 그리고 오래 쓰인 라이브러리라고 함
붓꽃 데이터셋 사용
SDGClassfier 클래스
확률적 경사하강법 알고리즘을 이용하여 선형모델을 구현해줌.
여러가지 분류 모델 알고리즘(퍼셉트론, 로지스틱 회귀, SVM)을 SDGClassfier 클래스를 사용해 구현 가능하다.
if (output<0) => return -1;
else if (output>0) => return 1;
여기서,,, 개념 정리
분류 문제에서는 잘못 분류된 샘플 개수를 헤아리는 것 보다, 얼마나 잘 맞았는지를 판단하는 것이 일반적이다.
사이킷런에서는 Sklearn.metrics 모듈 아래에 여러가지 측정 지표를 계산할 수 있는 함수들을 제공하고 있음!
accuracy score를 사용해 정확도 구함
일반적인 구현 루틴:
fit 메소드를 사용해 모델을 훈련 -> predict 메소드를 사용해 예측 -> score 메소드를 사용하여 평가
로지스틱 회귀란! Cox가 제안한 모델,, (안냥하세요 오랜만,,) 로 독립변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는데 사용되는 통계 기법이다.
독립변수의 선형 결합으로 종속 변수를 설명한다는 관점에서는 선형회귀분석과 유사하지만 또, 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나뉘기 때문에 일종의 분류 기법으로도 볼 수 있다.
로지스틱 모형 식은 독립 변수가 (-∞,∞)의 어느 숫자이든 상관 없이 종속 변수 또는 결과 값이 항상 범위 [0,1] 사이에 있도록 한다. 이는 오즈(odds)를 로짓(logit) 변환을 수행함으로써 얻어진다.
😜 오즈: 특정 이벤트가 발생할 확률, 성공 확률이 실패 확률에 비해 몇 배 더 높은가를 나타낸다.
😜 로짓 함수: 오즈비에 로그 함수를 취한 함수, 입력 값의 범위가 [0,1] 일때 출력 값의 범위를 (-무한대, +무한대)로 조정한다.
😜 w와 x의 점곱은 z로 표현함)
LRM에서 사용하는 활성화함수인 시그모이드(Sigmoid) 함수는 코드로 아래와 같이 표현 가능
def sigmoid(z):
return 1.0 / (1.0 + np.exp(-z))
아래 로지스틱 회귀의 그래프를 보면 알 수 있듯이, 사건이 일어나고(=1) 일어나지 않고(=0)를 예측하는 것이 LRM의 목표이다.
서린이 생각난다,,,,^_<
의식의 흐름: 로그-가능도 함수 => 수리통계학&생존분석 => 최교수님 => 그의 제자이자 동문이 된 정설인
😵 가능도 함수: y의 i번째 타깃값이 0이냐 1이냐에 따라 두 항중 하나만 남게 됨
로지스틱 회귀 알고리즘이 아달린 알고리즘과 거의 비슷하다는 것을 알 수 있음