Я довольно новичок с Python, и я пытаюсь создать нейронную сеть, которая может классифицировать серию самолетов на основе 10 различных параметров. Все эти параметры приведены в массиве (10,10) numpy. Вот что у меня есть:
import tensorflow as tf
from tensorflow import keras
import numpy as np
import matplotlib.pyplot as plt
data = np.genfromtxt('Aircraft data.csv', delimiter =',')
names = ["Airbus A330-200","Airbus A330-300","Boeing 737-700","Boeing 737-800","Boeing 737-900",
"Boeing 747-400","Boeing 777-200","Boeing 777-300ER","Boeing 787-10","Boeing 787-9"]
X = data[1:,1:]
Y = [[1.],[2.],[3.],[4.],[5.],[6.],[7.],[8.],[9.],[10.]]
Y_stack = np.row_stack((Y,Y,Y,Y,Y,Y,Y,Y,Y,Y))
Y = np.array(Y)
train_data = np.zeros((1,10,10))
for i in range(10):
for e in range(10):
train_data[0,i,e] = X[i,e]
train = train_data
model = keras.Sequential([
keras.layers.Flatten(input_shape=(10,10)),
keras.layers.Dense(8,activation="linear"),
keras.layers.Dense(10,activation="softmax")
])
model.summary
model.compile(optimizer = 'adam', loss="mean_squared_error", metrics=['mean_squared_error'])
model.fit(train,Y.T,epochs=10,)
test_loss, test_acc = model.evaluate(train,Y.T)
print("Tested Acc:", test_acc)
prediction = model.predict(train)
print(names[np.argmax(prediction[0])])
Я боролся с форматом данных. Если я запускаю его несколько раз, кажется, что он иногда предсказывает это со 100% точностью, что заставляет меня думать, что, вероятно, что-то не так с тем, как я подаю массив. Я не могу понять, что это такое.