1 개요[ | ]
- Sklearn 다항로지스틱회귀분석
- 매 5번째 요소를 테스트셋으로하고 나머지를 훈련셋으로 하도록 데이터를 분할하였다. (대략 체계적 표집)
- R 다항로지스틱회귀분석과 동일한 훈련셋/테스트셋을 부여하고자 했기 때문이다.
Python
CPU
4.8s
MEM
137M
5.3s
Reload
Copy
# 데이터 준비
from sklearn import datasets
iris = datasets.load_iris()
df_x = iris.data
df_y = iris.target
print( len(df_x), len(df_y) ) # 150 150
150 150
Copy
# 훈련셋/테스트셋 분리
import numpy as np
train_x = df_x[np.arange(len(df_x)) % 5 != 4] # 매 5번째만 제외
train_y = df_y[np.arange(len(df_y)) % 5 != 4] # 매 5번째만 제외
test_x = df_x[np.arange(len(df_x)) % 5 == 4] # 매 5번째만 포함
test_y = df_y[np.arange(len(df_y)) % 5 == 4] # 매 5번째만 포함
print( len(train_x), len(train_y) ) # 120 120
print( len(test_x), len(test_y) ) # 30 30
120 120 30 30
Copy
# fit model
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(C=100000,solver='newton-cg').fit(train_x, train_y)
print( model )
LogisticRegression(C=100000, solver='newton-cg')
Copy
# 테스트셋 예측
predicted = model.predict(test_x)
import pandas as pd
print( pd.crosstab(predicted, test_y) )
col_0 0 1 2 row_0 0 10 0 0 1 0 10 0 2 0 0 10
2 같이 보기[ | ]
3 참고[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.