1、网格搜索是什么?
回答:网格搜索(grid search)主要是指尝试重要参数的所有可能组合,找到最佳泛化性能的参数组合。为了得到对泛化性能的更好估计,可以使用交叉验证来评估每种参数组合的性能,而不是仅将数据单次划分为训练集与验证集。
2、训练集、验证集、测试集三者的区别?
回答:训练集用于构建模型,验证集用于选择模型参数,测试集用于评估所选参数性能。
3、手写带交叉验证的网格搜索
import numpy as np
from sklearn.svm import SVC #假设用SVC分类器
from sklearn.model_selection import train_test_split #划分训练集、测试集
from sklearn.model_selection import cross_val_score #交叉验证
from sklearn.datasets import load_iris #以iris数据集为例
iris=load_iris()
X_trainval,X_test,y_trainval,y_test=train_test_split(iris.data,iris.target,random_state=0)
best_score=0
#有多少个参数,就用多少层for循环
for gamma in [0.001,0.01,0.1,1,10,100]:
for C in [0.001,