본문 바로가기

카테고리 없음

AIOT - iris(붓꽃) 데이터 예측 및 시각화

[K-최근접 이웃 알고리즘으로 붓꽃 품종 예측하기]

# 필요한 패키지 설치
from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split

# sklearn.datasets에 포함된 iris 데이터 가져오기
iris = load_iris()
# 예측 모델 생성
dt_clf = KNeighborsClassifier() 

# 검증집합과 학습집합으로 분리(검증30%, 학습70%)
X_train, X_test, Y_train, Y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=20)

dt_clf.fit(X_train, Y_train) # 모델학습
pred = dt_clf.predict(X_test) # 학습한 데이터로 테스트

print(f"예측 정확도 : {accuracy_score(Y_test, pred)}")

 

[데이터 시각화]

 

- iris 데이터셋을 데이터프레임으로 변환

# 필요한 패키지 설치
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.datasets import load_iris

# sklearn.datasets에 포함된 iris 데이터 가져오기
iris = load_iris()

# iris 데이터 내 data값들
data=pd.DataFrame(iris.data)

# iris 데이터의 feature 이름
feature = pd.DataFrame(iris.feature_names)

# data의 컬럼명을 feature이름으로 수정하기
data.columns = feature[0]

# 세가지 붓꽃의 종류
target = pd.DataFrame(iris.target)

# 컬럼명 바꾸기
target.columns=['target']

# data와 target 데이터프레임을 합치기( axis=1, columns으로 합치기)
df=pd.concat([data,target], axis=1)

df.head()

 

- 데이터 구조 확인

# 데이터 구조 확인
df.info()

# target 컬럼을 object 타입으로 변경
df = df.astype({'target': 'object'})

 

- 시각화

# pairplot을 통해 4가지 속성 관계도 모두 출력
sns.pairplot(df, hue="target")
plt.show()