下面是早期停止的更简单的实现,我偶然发现了这本书并想尝试一下。
# Implement SGD Classifier
sgd_clf = SGDClassifier(random_state=42,
warm_start=True,
n_iter=1,
learning_rate='constant',
eta0=0.0005)
minimum_val_error = float('inf')
best_epoch = None
best_model = None
for epoch in range(1000):
sgd_clf.fit(X_train_scaled,y_train)
predictions = sgd_clf.predict(X_val_scaled)
error = mean_squared_error(y_val,predictions)
if error < minimum_val_error:
minimum_val_error = error
best_epoch = epoch
best_model = clone(sgd_clf)
执行上述代码段后,最佳模型和最佳时期将存储在变量中best_model
。best_epoch
因此,为了测试 best_model,我运行了以下语句。
y_test_predictions = best_model.predict(X_test)
但后来我遇到了错误This SGDClassifier instance is not fitted yet
任何有关如何解决此问题的提示都会非常有帮助。谢谢