【问题标题】:Scikitlearn GridSearchCV best model scoresScikit Learn GridSearchCV 最佳模型分数
【发布时间】:2021-10-19 14:03:07
【问题描述】:

我正在尝试从我的GridSearchCV 对象中打印最佳模型的训练和测试分数。我最初的猜测是使用cv_results['best_train_score']cv_results['best_test_score'],但在查看文档后,我认为 cv_results 没有“best_train_score”。

我还看到有一个best_estimator_,但我不确定是否可以使用它来打印测试和训练分数。非常感谢任何帮助。

【问题讨论】:

    标签: python machine-learning scikit-learn


    【解决方案1】:

    您可以使用拟合的GridSearchCVbest_estimator_ 来检索最佳模型,然后使用估计器的score 函数来计算训练和测试准确度。

    如下:

    from sklearn import svm, datasets
    from sklearn.model_selection import GridSearchCV, train_test_split
    
    iris = datasets.load_iris()
    X_train, X_test, y_train, y_test = train_test_split(
        iris.data, iris.target, test_size=0.2
    )
    
    parameters = {"kernel": ("linear", "rbf"), "C": [1, 10]}
    svc = svm.SVC()
    cv = GridSearchCV(svc, parameters)
    cv.fit(iris.data, iris.target)
    model = cv.best_estimator_
    
    print(f"train score: {model.score(X_train, y_train)}")
    print(f"test score: {model.score(X_test, y_test)}")
    

    输出:

    train score: 0.9916666666666667
    test score: 1.0
    

    【讨论】:

      猜你喜欢
      • 2014-10-13
      • 2018-05-14
      • 2020-06-21
      • 2019-07-25
      • 2018-09-08
      • 2021-01-11
      • 2013-10-01
      • 2014-02-21
      相关资源
      最近更新 更多