Python Scikit学习:对训练数据执行交叉验证,然后在测试数据上拟合模型

Python Scikit学习:对训练数据执行交叉验证,然后在测试数据上拟合模型,python,scikit-learn,cross-validation,Python,Scikit Learn,Cross Validation,我希望对训练数据执行n倍交叉验证方法,然后在测试子集上用优化参数拟合模型 from sklearn.model_selection import train_test_split from sklearn import datasets from sklearn import linear_model from sklearn.model_selection import cross_val_score from sklearn.model_selection import TimeSeries

我希望对训练数据执行n倍交叉验证方法,然后在测试子集上用优化参数拟合模型

from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn import linear_model
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import TimeSeriesSplit

iris = datasets.load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, 
                                                        random_state=1234)

lm = linear_model.LinearRegression() 
cv = TimeSeriesSplit(n_splits=10).split(y_train) # [Question: 1]
cv_score = cross_val_score(lm, X_train, y_train, cv=cv, scoring="r2")
我的问题是:

  • [问题:1]假设这是逻辑回归,对吗 如果我想解释类不平等(检查代码的第12行)
  • [问题:2]如何根据X\u检验数据的
    交叉值
    拟合模型,以预测y\u检验数据
      • [问题:1]假设这是逻辑回归,对吗 如果我想解释类不平等(检查代码的第12行)

      • [问题:2]如何根据X\u检验数据的
        交叉值
        拟合模型,以预测y\u检验数据
      您将需要GridSearch。然后可以检索最佳模型并将其用于测试集。

      例如:

      from sklearn import svm, datasets
      from sklearn.model_selection import GridSearchCV
      iris = datasets.load_iris()
      parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}
      svc = svm.SVC(gamma="scale")
      clf = GridSearchCV(svc, parameters, cv=5)
      clf.fit(iris.data, iris.target)
      
      y_test = clf.best_estimator_.predict(X_test)
      
      

      更多信息:

      谢谢您的回复。交叉值根据训练数据返回每i倍的分数。不过,我希望使用训练简历中的系数/模型,并将其拟合到测试数据上。你知道怎么做吗?