[인공지능 #17 ] 인공지능/딥러닝 실전입문_머신러닝에 딥러닝 적용
인공지능의 실전입문에 관한 글입니다.
알고리즘을 만드는것이 아니고, 만들어진 알로리즘을 활용하는 방법에 관한 글입니다.
자동차 운전을 위해 자동차를 만드는방법을 알필요는 없습니다. 물론 알면 좋기는 하겠지만, 서로 별도의 분야라고 할수있습니다.
본글은 지금까지 한 머신러닝에 딥러닝을 적용하는 방법에 대한 글입니다.
글의 순서는 아래와 같습니다.
=========================================================================================
1. 머신러닝에 딥러닝 적용 ==>[ # 170819 5 keras-bmi ]
- 모델구조를 정의하고 , 모델을 컴파일 하고 , 모델을 이용해서 학습을 시킴, 이외 과정은 딥 러닝과 동일함.
- 즉 딥러닝은 머신러닝의 한 부분임을 알수있음.
4. 참고자료
=========================================================================================
[ # 170819 5 keras-bmi ]
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.callbacks import EarlyStopping
import pandas as pd, numpy as np
# BMI 데이터를 읽어 들이고 정규화하기 --- (※1)
csv = pd.read_csv("bmi.csv")
# 몸무게와 키 데이터
csv["weight"] /= 100
csv["height"] /= 200
X = csv[["weight", "height"]].as_matrix() # --- (※1a)
# 레이블
bclass = {"thin":[1,0,0], "normal":[0,1,0], "fat":[0,0,1]}
y = np.empty((20000,3))
for i, v in enumerate(csv["label"]):
y[i] = bclass[v]
# 훈련 전용 데이터와 테스트 전용 데이터로 나누기 --- (※2)
X_train, y_train = X[1:15001], y[1:15001]
X_test, y_test = X[15001:20001], y[15001:20001]
# 모델 구조 정의하기 --- (※3)
model = Sequential()
model.add(Dense(512, input_shape=(2,)))
model.add(Activation('relu'))
model.add(Dropout(0.1))
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.1))
model.add(Dense(3))
model.add(Activation('softmax'))
# 모델 구축하기 --- (※4)
model.compile(
loss='categorical_crossentropy',
optimizer="rmsprop",
metrics=['accuracy'])
# 데이터 훈련하기 --- (※5)
hist = model.fit(
X_train, y_train,
batch_size=100,
nb_epoch=20,
validation_split=0.1,
callbacks=[EarlyStopping(monitor='val_loss', patience=2)],
verbose=1)
# 테스트 데이터로 평가하기 --- (※6)
score = model.evaluate(X_test, y_test)
print('loss=', score[0])
print('accuracy=', score[1])
[참고자료]
https://www.data.go.kr/main.do
'프로젝트 > 인공지능' 카테고리의 다른 글
[인공지능 #19 ] 인공지능/딥러닝 실전입문_언어별 크롤링 및 언어식별 (0) | 2017.08.23 |
---|---|
[인공지능 #18 ] 인공지능/딥러닝 실전입문_형태소 적용/텍스트(스팸등) 분류 (0) | 2017.08.19 |
[인공지능 #16 ] 인공지능/딥러닝 실전입문_외국어판별_식용버섯 식별 (0) | 2017.08.16 |
[인공지능 #15 ] 인공지능/딥러닝 실전입문_XOR/손글씨 맞추기 (0) | 2017.08.14 |
[인공지능 #14 ] 인공지능/딥러닝 실전입문_데이터 확보하기 (0) | 2017.08.12 |