반응형
Notice
Recent Posts
Recent Comments
Link
Learner's Log님의 블로그
데이터 품종 예측하기(sklearn) 본문
사이킷런을 이용하여 붓꽃(lris) 데이터 품족 예측
1. 필요한 모듈로딩 및 데이터 세트 로딩, 저장
import sklearn
print(sklearn.__version__)
결과값:
1.6.1
- 붓꽃 예측을 위한 사이킷런 필요 모듈 로딩
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
- 데이터 세트를 로딩
import pandas as pd
from sklearn.datasets import load_iris
# 붓꽃 데이터 세트를 로딩합니다.
iris = load_iris()
# iris.data는 Iris 데이터 세트에서 피처(feature)만으로 된 데이터를 numpy로 가지고 있습니다.
iris_data = iris.data
# iris.target은 붓꽃 데이터 세트에서 레이블(결정 값) 데이터를 numpy로 가지고 있습니다.
iris_label = iris.target
print('iris target값:', iris_label)
print('iris target명:', iris.target_names)
# 판다스 DataFrame으로 변환하여 컬럼명 추가.
# label 컬럼을 추가하여 레이블 값 저장.
iris_df = pd.DataFrame(data=iris_data, columns=iris.feature_names)
iris_df['label'] = iris.target
iris_df.head(3)
결과값 - 1:
iris target값: [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]
iris target명: ['setosa' 'versicolor' 'virginica']
결과값 - 2:
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) \
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
label
0 0
1 0
2 0
- 학습 데이터와 테스트 데이터 세트로 분리
2. 분리한 데이터세트로 학습(Train) 수행
X_train, X_test, y_train, y_test = train_test_split(iris_data, iris_label, test_size=0.2, random_state=11)
- 학습 데이터 세트로 학습(Train) 수행
# DecisionTreeClassifier 객체 생성
dt_clf = DecisionTreeClassifier(random_state=11)
# 학습 수행
dt_clf.fit(X_train, y_train)
결과값:
DecisionTreeClassifier(random_state=11)
- 테스트 데이터 세트로 예측(Predict) 수행
3. 예측 정확도 평가
pred = dt_clf.predict(X_test)
pred
결과값:
array([2, 2, 1, 1, 2, 0, 1, 0, 0, 1, 1, 1, 1, 2, 2, 0, 2, 1, 2, 2, 1, 0,
0, 1, 0, 0, 2, 1, 0, 1])
- 예측 정확도 평가
from sklearn.metrics import accuracy_score
print('예측 정확도: {0:.4f}'.format(accuracy_score(y_test, pred)))
결과값:
예측 정확도: 0.9333
반응형
'데이터 분석 및 실습' 카테고리의 다른 글
| 음성 데이터 EDA 분석 (0) | 2025.03.18 |
|---|---|
| Kaggle-Students' Academic Performance(EDA) (0) | 2025.03.05 |
| Heart-Failure-Prediction 2. 모델 학습 (0) | 2025.03.05 |
| Heart-Failure-Prediction 1. 수치형 데이터 히스토그램 (0) | 2025.02.28 |
| 운동 데이터 분석 (0) | 2025.02.13 |