random_params = {'n_estimators': randint(low=80, high=121), 'max_features': randint(low=5, high=10)} forset_reg = RandomForestRegressor(random_state=2020) random_search_forest = RandomizedSearchCV(forest_reg, param_distributions=random_params, n_iter=20, scoring='neg_mean_squared_error', cv=15, random_state=2020) random_search_forest.fit(housing_prepares, housing_label) print('随机搜索下最佳参数', random_search_forest.best_params_) print('随机搜索下最佳评估器', random_search_forest.best_estimator_) final_model1 = random_search_forest.best_estimator_ y_predict = final_model1.predict(x_test) final_mse = mean_squared_error(y_test, y_predict) final_rmse = np.sqrt(final_mse) print(final_rmse) display(final_rmse) cvrus = random_search_forest.cv_results_ for mean_score, params in zip(cvrus['mean_test_score'], cvrus['params']): print(np.sqrt(-mean_score), params) 将以上代码绘图实现
时间: 2024-03-25 09:35:23 浏览: 180
3_face_completion_with_random_forest.zip_Random Forest_completio
很抱歉,我作为一个语言模型,无法直接绘图。但我可以提供一些思路,您可以使用 Matplotlib 或其他绘图库来实现。
根据您的代码,可以将随机搜索下不同参数组合的 RMSE 值绘制成折线图或柱状图,以便比较它们的效果。您可以使用 Matplotlib 库中的 plot() 函数或 bar() 函数来绘制图表。
首先,您需要将测试集的 RMSE 值与每个参数组合的 RMSE 值进行比较。您可以使用以下代码:
```
test_rmse = np.sqrt(mean_squared_error(y_test, y_predict))
cv_rmse = [np.sqrt(-x) for x in random_search_forest.cv_results_['mean_test_score']]
params = [str(x) for x in random_search_forest.cv_results_['params']]
cv_df = pd.DataFrame({'params': params, 'RMSE': cv_rmse})
cv_df = cv_df.sort_values(by='RMSE', ascending=True)
cv_df = cv_df.reset_index(drop=True)
cv_df.loc[len(cv_df)] = ['Test set', test_rmse]
```
然后,您可以使用以下代码将 RMSE 值绘制成折线图:
```
plt.plot(cv_df['params'], cv_df['RMSE'], label='CV RMSE')
plt.plot(cv_df['params'], cv_df[cv_df['params'] == 'Test set']['RMSE'], 'o', label='Test set')
plt.xticks(rotation=90)
plt.xlabel('Parameter combinations')
plt.ylabel('RMSE')
plt.legend()
plt.show()
```
或者,您可以使用以下代码将 RMSE 值绘制成柱状图:
```
plt.bar(cv_df['params'], cv_df['RMSE'])
plt.xticks(rotation=90)
plt.xlabel('Parameter combinations')
plt.ylabel('RMSE')
plt.show()
```
希望这些代码可以帮助您实现绘图。
阅读全文