-
iris 품종 예측하기Keras 2018. 1. 9. 18:11
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
'Keras' 카테고리의 다른 글
LSTM과 CNN의 조합을 이용한 영화 리뷰 분류하기 (0) 2018.01.10 LSTM을 이용해 로이터 뉴스 카테고리 분석하기 (0) 2018.01.10 Keras Cheat Sheet (0) 2018.01.09 Model.fit() 함수의 verbose (0) 2018.01.08 문장 입력 다중클래스분류 모델 레시피(순환 컨볼루션 신경망 모델) (0) 2018.01.06