사이킷런(sklearn)을 이용한 로지스틱 회귀모형의 예제입니다. 데이터는 사이킷런에 들어있는 iris 데이터를 사용하였습니다.
[전체 프로그램]
import pandas as pd from sklearn.datasets import load_iris iris = load_iris() X= pd.DataFrame(iris.data,columns=iris.feature_names) y= pd.Series(iris.target) from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X,y, train_size=0.7, test_size=0.3, random_state=12345) from sklearn.linear_model import LogisticRegression model_out = LogisticRegression(random_state=12345) model_out.fit(X_train,y_train) model_out.predict(X_test) model_out.score(X_test,y_test) |
[설명]
import pandas as pd # 판다스 불러오기
from sklearn.datasets import load_iris # 사이킷런에 포함되어 있는 데이터 iris 불러오기(Buch 형태)
iris = load_iris() # iris 데이터 불러오기
X= pd.DataFrame(iris.data,columns=iris.feature_names) # iris.data 는 실제 데이터... 그리고 변수명 지정
y= pd.Series(iris.target) # 종속변수(target)
from sklearn.model_selection import train_test_split #Training 데이터와 Test 데이터를 만듬
X_train, X_test, y_train, y_test = train_test_split(X,y,
train_size=0.7, test_size=0.3, random_state=12345)
from sklearn.linear_model import LogisticRegression # LogisticRegression 불러옴
model_out = LogisticRegression(random_state=12345) # 모형의 객체 만듬
model_out.fit(X_train,y_train) # Train데이터와 train 타겟 데이터를 이용 모형 실행
model_out.fit(X_train,y_train) Out[11]: LogisticRegression(random_state=12345)Out[12]: array([1, 0, 1, 0, 0, 0, 1, 0, 1, 2, 0, 2, 1, 2, 2, 2, 0, 2, 1, 1, 1, 1, 0, 1, 0, 2, 0, 1, 0, 2, 0, 0, 2, 2, 1, 2, 2, 1, 0, 1, 0, 1, 0, 2, 1]) |
model_out.predict(X_test) # Test 데이터를 이용하여 예측
model_out.score(X_test,y_test) # Test 데이터를 이용한 결과와 y_test 비교하여 정확률을 리턴
model_out.score(X_test,y_test) Out[13]: 0.9777777777777777 |
'머신러닝 > 4. 로지스틱' 카테고리의 다른 글
2.3 Regulization - Ridge 실습 (참고: ISLR...수정중) (0) | 2020.07.07 |
---|