Когда я запускаю следующий код, я получаю
ValueError: модель не настроена для вычисления точности. Вы должны передать metrics=["accuracy"]
методу model.compile()
.
Мой код:
def create_network():
model = models.Sequential()
model.add(layers.Dense(64, activation='relu', input_shape=(X.shape[1],)))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(1))
model.compile(optimizer='rmsprop',
loss='mse',
metrics=['mae'])
return model
from keras.wrappers.scikit_learn import KerasClassifier
neural_network = KerasClassifier(build_fn=create_network,
epochs=100,
batch_size=10,
verbose=1)
X=feature_normalization(X)[0]
from sklearn.model_selection import cross_val_score
cross_val_score(neural_network, X, y, cv=4)
Но я не могу использовать точность в регрессионной модели. Любые подсказки, как я могу использовать cross_val_score
без выполнения перекрестной проверки k-fold с нуля, как здесь:
for i in range(k):
print(f'Processing fold # {i}')
X_test = X[i * num_val_samples: (i+1) * num_val_samples]
y_test = y[i * num_val_samples: (i+1) * num_val_samples]
X_train = np.concatenate([X[:i * num_val_samples],
X[(i+1) * num_val_samples:]],
axis=0)
y_trains = np.concatenate([y[:i * num_val_samples],
y[(i+1)*num_val_samples:]],
axis=0)
model = create_network()
model.fit(X_train,
y_train,
epochs=num_epochs,
batch_size=10,
verbose=1)
val_mse, val_mae = model.evaluate(X_test, y_test, verbose=1)
all_scores.append(val_mae)