Допустим, этот пример реализует простую двоичную классификацию.
X = массив ([[1,2,3], [2,3,4], [3,4,5]])
y = массив ([0], [1], [0])
...
model.compile(loss='binary_crossentropy', optimizer='adam')
model.fit(X, y, epochs=50, verbose=0)
# new instance where we do not know the answer
Xnew = array([[4, 5, 6]])
# make a prediction
ynew = model.predict(Xnew)
#show the inputs and predicted outputs
print("X=%s, Predicted=%s" % (Xnew[0], ynew[0]))
...
results
X=[4, 5, 6], Predicted=[0 or 1]
И этот реализует мультиклассовую классификацию.
X = массив ([[1,2,3], [2,3,4], [3,4,5]])
y = массив ([4], [5], [6])
...
model.compile(loss='categorical_crossentropy', optimizer='adam')
# fit model
model.fit(X, y, epochs=50, verbose=2)
model.reset_states()
# evaluate model on new data
yhat = model.predict((X))
...
results decoded
X=[4, 5, 6], Predicted=[4, 5, 6]
Как реализовать мультиклассовую классификацию с одним выходом, чтобы получить что-то вроде этого? (аналогично прогнозированию временных рядов)
X = массив ([[1,2,3], [2,3,4], [3,4,5]])
y = массив ([4], [5], [6])
# new instance where we do not know the answer
Xnew = array([[4, 5, 6]])
yhat = model.predict_classes(Xnew)
декодированные результаты
X = [4, 5, 6], прогнозируемый = [7]