iris 품종 예측하기
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.preprocessing import LabelEncoder
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense
# 데이터 불러오기
iris = pd.read_csv("d:/MachineLearning/dataset/iris.csv", names = ["SL", "SW", "PL", "PW", "Species"])
# 데이터 일부 보기
iris.head()
# 데이터 구조 보기
iris.info()
# 품종별 히스토그램/산점도 작성
sns.pairplot(iris, hue="Species")
plt.show()
# 데이터프레임을 배열로 변경하기
iris2 = iris.values
# 데이터셋 만들기
X = iris2[:, 0:4].astype(float)
Y = iris2[:, 4]
# 문자 데이터를 숫자 데이터로 변경하기
e = LabelEncoder()
e.fit(Y)
Y = e.transform(Y)
# One-hot encoding
Y = np_utils.to_categorical(Y)
# 모델 설정하기
model = Sequential()
model.add(Dense(16, input_dim=4, activation="relu"))
model.add(Dense(3, activation="softmax"))
# 모델 컴파일하기
model.compile(loss="categorical_crossentropy", optimizer="adam", metrics=["accuracy"])
# 모델 실행하기
model.fit(X, Y, epochs=50, batch_size=1)
# 모델 평가하기
print("Accuracy : %.4f" % (model.evaluate(X, Y)[1]))
[출처] 모두의 딥러닝, 조태호 지음, 길벗, p146~154