MLPRegressor网格优化代码python
时间: 2024-10-22 22:25:50 浏览: 14
在Python中,多层感知器(MLPRegressor)是一个基于神经网络的线性回归模型。同样地,我们可以使用`GridSearchCV`来进行网格搜索优化。以下是一个使用`MLPRegressor`进行网格优化的基本代码示例,假设你已经导入了所需的库(`sklearn`):
```python
from sklearn.neural_network import MLPRegressor
from sklearn.model_selection import GridSearchCV
# 假定你有训练数据 X_train 和目标变量 y_train
mlp = MLPRegressor()
# 定义超参数网格
param_grid = {
'hidden_layer_sizes': [(50,), (100,), (200,)], # 不同隐藏层数量和节点数
'activation': ['relu', 'tanh'], # 激活函数
'solver': ['adam', 'sgd'], # 解决器
'alpha': [0.0001, 0.001], # 正则化参数
}
# 创建GridSearchCV对象
grid_search = GridSearchCV(mlp, param_grid, cv=5) # 交叉验证次数
# 拟合模型
grid_search.fit(X_train, y_train)
# 输出最佳参数和得分
best_params = grid_search.best_params_
best_score = grid_search.best_score_
print(f"Best parameters: {best_params}")
print(f"Best score: {best_score}")
# 使用最佳参数创建最优模型
optimized_mlp = grid_search.best_estimator_
```
在这个例子中,`param_grid`包含了`hidden_layer_sizes`、`activation`、`solver`和`alpha`等参数的不同设置,`GridSearchCV`会自动遍历这些组合,找出性能最好的模型。
阅读全文