Python/머신러닝(ML)

Python(18)- Iris Dataset

두설날 2024. 6. 11. 09:09

*이 글을 읽기전에 작성자 개인의견이 있으니, 다른 블로그와 교차로 읽는것을 권장합니다.*

1. Iris DataSet

데이터셋: 특정한 작업을 위해 데이터를 관련성 있게 모아놓은 것
https://scikit-learn.org/stable/api/sklearn.datasets.html#module-sklearn.datasets

 

sklearn.datasets

Utilities to load popular datasets and artificial data generators. User guide. See the Dataset loading utilities section for further details. Loaders: Sample generators:

scikit-learn.org

from sklearn.datasets import load_iris
iris = load_iris()
iris

print(iris['DESCR'])

sepal length in cm : 꽃받침의 길이
sepal width in cm : 꽃받침의 너비
petal length in cm : 꽃받침의 길이
petal width in cm : 꽃잎의 너비

data = iris['data']
data

feature_names = iris['feature_names']
feature_names

import pandas as pd
df_iris = pd.DataFrame(data, columns=feature_names)
df_iris

target = iris['target']
target

target.shape

# target:2만 검증하려고 함
df_iris['target'] = target
df_iris

from sklearn.model_selection import train_test_split
# train_test_split(독립변수, 종속변수, 테스트사이즈, 시드값 ...)
X_train, X_test, y_train, y_test = train_test_split(
    df_iris.drop('target', axis=1),  # 독립변수
    df_iris['target'],               # 종속변수
    test_size=0.2,                   # 테스트 데이터 비율
    random_state=2023                # 시드 값
)
X_train.shape, X_test.shape

y_train.shape, y_test.shape

X_train

y_train

# LinearSVC(2차원) VS SVC(곡선, ) 모델사용차이는 복잡함차이
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
svc = SVC()
svc.fit(X_train, y_train)

y_pred = svc.predict(X_test)
y_pred

print('정답율', accuracy_score(y_test, y_pred))

# 6.2 2.1 4.1 1.5
y_pred = svc.predict([[6.2, 2.1, 4.1, 1.5]])
y_pred