当前位置 : 主页 > 编程语言 > 其它开发 >

模型评估与改进:网格搜索

来源:互联网 收集:自由互联 发布时间:2022-05-30
我们已经知道如何评估一个模型的泛化能力:交叉验证 接着学习如何通过调参来提升模型的泛化能力 ⭐网格搜索:尝试我们所关心的参数的所有可能组合 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}
  ```
  '''

上一篇:修改命令提示符 (颜色、格式)
下一篇:没有了
网友评论