본문 바로가기
멀티캠퍼스 머신러닝 정리

6월 7일 머신러닝 수업 내용 정리.

by 초보코딩러 2021. 6. 7.

 <사이킷런을 이용 붓꽃(Iris) 데이터 품종 예측하기>

   -필요한 사이킷런 필요 모듈 로딩

 

from sklearn.datasets import load_iris #데이터 로드 모듈.

from sklearn.tree import DecisionTreeClassifier #의사결정 나무 분류기.

from sklearn.model_selection import train_test_split #학습 , 테스트 분리기.

import pandas as pd

1. 붓꽃, 데이터 로딩.

 

iris = load_iris() # 아이리스 데이터 로딩.
# iris.data는
iris_data = iris.data
iris_data

2. iris.target 변수 label로

iris_label = iris.target
iris_label
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])

3.iris.target name을 출력해 보겠습니다.

print(iris.target_names)
['setosa' 'versicolor' 'virginica'] # setosa = 0 versicolor = 0 , virginica = 0

 

4.붓꽃 데이터를 한 눈에 보기 쉽게 DataFrame으로 바꿔줍니다.

iris_df = pd.DataFrame(data = iris_data, columns = iris.feature_names)
iris_df['label'] = iris.target #iris_data #데이타프레임에 'label'칼럼을 추가

5. 학습데이터와 테스트 데이터 세트로 분리

X_train, X_test, y_train, y_test = train_test_split(iris_data, iris_label, 
                                                    test_size=0.2, random_state=11)

6. 학습 데이터 세트로 학습(train)수행

# DecisionTreeClassifier 객체 생성 
dt_clf = DecisionTreeClassifier(random_state=11)

# 학습 수행 
dt_clf.fit(X_train, y_train)

 

DecisionTreeClassifier(random_state=11) -학습이 완료됨-

7

7.테스트 데이터  세트로 예측 predict 수행 

pred = dt_clf.predict(X_test)

#r pred 변수에 X_text를 넣어 predict을 진행한다. 

 

학습이 완료된 객체에서 -------------> 테스트 데이터 세트로 예측 수행

 

8. 평가.

from sklearn.metrics import accuracy_score #예측 정확도 평가하는 모듈.


print('예측 정확도: {0:.4f}'.format(accuracy_score(y_test,pred)))

예측 정확도: 0.9333

x_test로 학습된 데이터를 예측 테스터 후 평가는 y_test  로 평가를 진행한다.

 

accuracy_score(y_text, pred) == # accuracy_score(테스트할 레이블, 테스트 데이터 예측수행)

 

 

댓글