# -*- coding: utf-8 -*-
\"\"\"算法调参.ipynb
Automatically generated by Colaboratory.
Original file is located at
https://colab.research.google.com/drive/1kILamn8ac8vii9GUkiWowl8TIFwl2MCv
### 超参数优化
这是机器学习模型解决问题的最后一个步骤,并不是整个解决方案的最后一步。不会调参就不能说会机器学习。参数分为了两种:
- 影响模型在训练集上的准确度,防止模型过拟合的参数
- 与准确度和过拟合无关的参数
其中调参调的是第一类参数。
这里介绍两类算法:
- 网格搜索
- 随机搜索
#### 网格搜索
通过遍历已定义的参数列表,来评估算法的参数,从而找到最优参数。使用方法是`GridSearchCV`,实现对参数的跟踪,调整和评估,最终找到最优参数。**网格搜索适用于三四个超参数或者更少的情况,否则计算量会非常大,此时要转成随机搜索。**
\"\"\"
# 网格搜索代码
from pandas import read_csv
from sklearn.linear_model import Ridge
from sklearn.model_selection import GridSearchCV
# 导入数据
filename = \'http://ftp.ics.uci.edu/pub/machine-learning-data s/pima-indians-diabetes/pima-indians-diabetes.data\'
names = [\'preg\',\'plas\',\'pres\',\'skin\',\'test\',\'mass\',\'pedi\',\'age\',\'class\']
data = read_csv(filename, names=names)
# 数据划分
array = data.values
X = array[:, 0:8]
y = array[:, 8]
model = Ridge()
# 设置要遍历的参数
param_grid = {\'alpha\': [1, 0,.1, 0.01, 0.001, 0]}
# 网格搜索
grid = GridSearchCV(estimator=model, param_grid=param_grid)
grid.fit(X,y)
print(\'最高得分:%.3f\' % grid.best_score_)
print(\'最优参数:%s\' % grid.best_estimator_.alpha)
\"\"\"其中,`param_grid`是 一个字典对象,算法需要的参数名是`key`,需要遍历的参数值列表为`value`。可以设定多个`key-value`对,同时查询多个最优参数值。
### 随机搜索优化
这个需要牵涉到随机的方法,即采样的方法。
\"\"\"
from pandas import read_csv
from sklearn.linear_model import Ridge
from sklearn.model_selection import RandomizedSearchCV
from scipy.stats import uniform
# 导入数据
filename = \'http://ftp.ics.uci.edu/pub/machine-learning-data s/pima-indians-diabetes/pima-indians-diabetes.data\'
names = [\'preg\',\'plas\',\'pres\',\'skin\',\'test\',\'mass\',\'pedi\',\'age\',\'class\']
data = read_csv(filename, names=names)
# 数据划分
array = data.values
X = array[:, 0:8]
y = array[:, 8]
model = Ridge()
# 设置要遍历的参数
param_grid = {\'alpha\': uniform()}
# 网格搜索
grid = RandomizedSearchCV(estimator=model, param_distributions=param_grid, n_iter=100, random_state=7)
grid.fit(X,y)
print(\'最高得分:%.3f\' % grid.best_score_)
print(\'最优参数:%s\' % grid.best_estimator_.alpha)
END.
参考:
《机器学习Python实践》
继续阅读与本文标签相同的文章
-
能力小访谈| 支付宝开放能力全方位助力白鲸鱼营销与内容安全
2026-05-18栏目: 教程
-
听众提建议,鼎城区城管局马上改
2026-05-18栏目: 教程
-
PARTsolutions让旺众/Wanzl的新设计缩短了2个多小时
2026-05-18栏目: 教程
-
第六届世界互联网大会将推出5G自动公交线路
2026-05-18栏目: 教程
-
市科技局加快黄石双创战略团队培育
2026-05-18栏目: 教程
