我们已经知道如何评估一个模型的泛化能力:交叉验证 接着学习如何通过调参来提升模型的泛化能力 ⭐网格搜索:尝试我们所关心的参数的所有可能组合 1、简单网格搜索 from sklearn.
我们已经知道如何评估一个模型的泛化能力:交叉验证
接着学习如何通过调参来提升模型的泛化能力
⭐网格搜索:尝试我们所关心的参数的所有可能组合
1、简单网格搜索 from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
#在两个参数上使用for循环
#加载数据
iris = load_iris()
X_train,X_test,y_train,y_test = train_test_split(iris.data,iris.target,random_state=0)
best_score = 0
p={}
C = [0.001,0.01,0.1,1,10,100]
G = [0.001,0.01,0.1,1,10,100]
for c in C:
for g in G:
svc = SVC(C=c,gamma=g)
svc.fit(X_train,y_train)
score = svc.score(X_test,y_test)
if score > best_score:
best_score = score
p = {'C':c,'gamma':g}
print("best score:{}".format(best_score))
print('best parameters:{}'.format(p))
'''
输出
```
best score:0.9736842105263158
best parameters:{'C': 0.1, 'gamma': 1}
```
'''