Как получить число при предсказании python
У меня есть ИИ для предсказания массива. Но я хочу что бы на выходе он давал мне не процент попадания, а само число, поскольку мне нужно именно число. Как это сделать? Код:
import tensorflow as tf
import numpy as np
from keras.utils import to_categorical
from keras.models import Sequential
from keras.layers import Input, Dense, Activation, BatchNormalization
from sklearn import preprocessing
from Rims import get_notes
model=Sequential()
n = [55, 34, 45, 69, 66, 49, 27, 47, 47, 69, 2, 2]
M = [n[i:i + 4] for i in range(0, len(n), 4)]
print(M)
X = np.array(M)
Y = np.array([[0], [1], [2]])
Y = to_categorical(Y)
model = Sequential()
model.add(Dense(4, input_shape=(X.shape[1],), activation='relu'))
model.add(BatchNormalization())
model.add(Dense(20, activation='relu'))
model.add(Dense(3, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='Adamax', metrics=['acc'])
model.fit(X,Y,batch_size=3,epochs=250,
verbose=1)
a=np.array([34 45 69 66])
reshy =a.reshape((1,- 1))
print("test")
print(reshy)
prediction = model.predict(reshy)
print('prediction')
print(prediction)
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Если я правильно разобрался, то для вашего случая будет так:
print(prediction.argmax(axis=1))
То есть выводим для каждой строки номер столбца с максимальной вероятностью.