2016-10-31 10 views
1

나는 Keras의 초보자입니다. 홍채 분류 자습서를 마치고 나면이 항목과 혼동을 일으 킵니다. 홍채 꽃의 3 가지 종류 (예 : 한 번의 핫 인코딩)를 인코딩했기 때문입니다. 3 개의 직교 벡터를 얻어야합니까?새로운 예측을하기 위해 훈련 된 Keras 모델을 어떻게 사용할 수 있습니까?

setosa  [1 0 0] 
versicolor [0 1 0] 
virginica [0 0 1] 

내 모델이 튜토리얼과 동일합니다 :

http://machinelearningmastery.com/multi-class-classification-tutorial-keras-deep-learning-library/ 

하고 난 결과를 가지고 있지만, 내 질문은 :

Baseline: 95.33% (4.27%) 

을하지만 난 훈련 깊은 네트워크 모델을 호출 할 때 :

prediction = baseline_model().predict(X) 

여기서 X는 원본 내가 네트워크

훈련을 할 때 입력 난 아주 유선 예측을 가지고 있도록 :

print prediction 
0,0,0 
0,0,0 
0,0,0 
0,0,0 
모두 0 벡터와

, 그리고 내가 생각하고 어떤 하나의 뜨거운 인코딩 된 결과를 바로 얻을? 꽃이 있어야 할 클래스를 식별합니다.

그래서 내가 입력 된 동일한 입력 X를 입력하고 그래프를 그리기 위해 결과를 분류하는 동안 훈련 된 Keras 모델을 어떻게 사용할 수 있습니까 ??

답변

0

네트워크를 훈련해야하며 그 다음에 만 예측에 사용할 수 있습니다. 튜토리얼의 표기법을 사용하면 다음을 수행 할 수 있습니다.

estimator = KerasClassifier(build_fn=baseline_model, nb_epoch=200, batch_size=5, verbose=0) 
X_train, X_test, Y_train, Y_test = train_test_split(X, dummy_y, test_size=0.33, random_state=seed) 
estimator.fit(X_train, Y_train) 
predictions = estimator.predict(X)