Machine Learning/분류모델

Logistic Regression (선형분류모델 ), SVM 실습 [ plt.imshow( ) / 데이터 스케일링 MinMaxScaler / 불확실성 확인 predict_proba( ) ] [ 손글씨 숫자 이미지 데이터 ]

leehii 2022. 8. 12. 15:56

 

 

 

data명.describe() 

: 컬럼별 숫자데이터 통계 출력됨

 

( count 총계, top 가장 많이 나온 요소, min 최소값, mean 평균, max 최대값, freq-top의 횟수 등등의 통계량)

 

(object형은 출력에서 제외됨)

 

.unique()

: 해당 데이터 내부의 유일한 값을 확인 가능하다

 

min : 0 

max : 255

top1 : 0 (687개 있음)

top2 : 253 (24개 있음)

 

 

0번 row 가 가지는 각 컬럼의 값들

 

 

이미지를 보여주는 

plt.imshow()

 

 

*. unique() 로 ndarray 객체로 return받아서

Series,DataFrame.sort_values()가 사용 불가능.

np.sort()를 사용해서 정렬해야함

 

 

답 데이터의 value 값이 몇개씩 있는지 확인

 

 

train_test_split을 이용해서 훈련셋 / 테스트셋을 나눠줌

 

 

from sklearn.linear_model import LogisticRegression

 

from sklearn.svm import LinearSVC

 

선형모델 (분류/회귀) 의 두종류인 Logistic Regression 과 Linear Support Vector Machine

 

 

선형회귀모델 Linear_Regression에서 특성확장(특성곱)을 이용할때 과적합을 제어하기위해

 

Ridge나 Lasso로 규제(정규화)를 할때 사용하던 하이퍼 파라미더가 alpha라면

 

선형분류모델에서의 하이퍼 파라미터는 c이다

 

 

 

 

from sklearn.preprocessing import MinMaxScaler

sc객체명 = MinMaxScaler()

sc객체명 = sc.fit(훈련데이터)

sc객체명.transform(훈련데이터)

 

 

fit으로 학습시킨 후 transform으로 적용시킴

이때 테스트셋은 검증을 위해 남겨둔 데이터이므로 같이 학습시키지 않는다

 

 

 

최종적으로 테스트셋에도 transform해준다

 

(주의 : 테스트셋에는 fit하지않는다)

 

 

 

 

 

 

model명.predict_proba()