Дело в машинном обучении в том, что оно не всегда учится совершенно одинаково. Он включает в себя множество вероятностей, поэтому в более широком масштабе результаты будут иметь тенденцию сходиться к одному значению, но отдельные прогоны могут и будут давать разные результаты.
Подробнее здесь
Абсолютно нормально, что многие работают с одними и теми же входными данными.
дать другой вывод. Это в основном из-за внутренней стохастичности
таких методов машинного обучения (пример: ANN, деревья решений
алгоритмы построения и т. д.).
- Набиль Белгасми, Университет Манубы
Не существует конкретного метода или техники. Результаты и
Оценка производительности зависит от нескольких факторов: данные
тип, параметры индукционной функции, тренировочный набор (контролируемый),
и т.д. Что важно, так это сравнить результаты использования метрики
измерения, такие как отзыв, точность, F_measure, ROC кривые или другие
графические методы.
- Университет имени Хесуса Антонио Мотта Лаваль
EDIT
Функция предиката () принимает массив из одного или нескольких экземпляров данных.
Пример ниже демонстрирует, как сделать регрессионные прогнозы для нескольких экземпляров данных с неизвестным ожидаемым результатом.
# example of making predictions for a regression problem
from keras.models import Sequential
from keras.layers import Dense
from sklearn.datasets import make_regression
from sklearn.preprocessing import MinMaxScaler
# generate regression dataset
X, y = make_regression(n_samples=100, n_features=2, noise=0.1, random_state=1)
scalarX, scalarY = MinMaxScaler(), MinMaxScaler()
scalarX.fit(X)
scalarY.fit(y.reshape(100,1))
X = scalarX.transform(X)
y = scalarY.transform(y.reshape(100,1))
# define and fit the final model
model = Sequential()
model.add(Dense(4, input_dim=2, activation='relu'))
model.add(Dense(4, activation='relu'))
model.add(Dense(1, activation='linear'))
model.compile(loss='mse', optimizer='adam')
model.fit(X, y, epochs=1000, verbose=0)
# new instances where we do not know the answer
Xnew, a = make_regression(n_samples=3, n_features=2, noise=0.1, random_state=1)
Xnew = scalarX.transform(Xnew)
# make a prediction
ynew = model.predict(Xnew)
# show the inputs and predicted outputs
for i in range(len(Xnew)):
print("X=%s, Predicted=%s" % (Xnew[i], ynew[i]))
Выполнение примера дает несколько предсказаний, а затем выводит входные данные и предсказания рядом для просмотра.
X=[0.29466096 0.30317302], Predicted=[0.17097184]
X=[0.39445118 0.79390858], Predicted=[0.7475489]
X=[0.02884127 0.6208843 ], Predicted=[0.43370453]
ИСТОЧНИК