Python 为什么我们需要重新拟合模型才能得分?

Python 为什么我们需要重新拟合模型才能得分?,python,machine-learning,scikit-learn,data-science,feature-selection,Python,Machine Learning,Scikit Learn,Data Science,Feature Selection,我正在测试用于特征选择的嵌入式方法 我理解(也许我误解了)使用嵌入式方法,我们可以在训练模型时获得最好的特性(基于特性的重要性) 就是这样,我想得到经过训练的模型的分数(该模型经过训练以选择特征) 我正在用套索方法测试分类问题 当我试图得到分数时,我得到了一个错误,我需要重新拟合模型 为什么我需要这样做(如果在功能选择上安装模型,似乎是浪费时间?) 为什么我们不能一次完成(选择功能并获得模型分数) 为什么如果我们使用嵌入式方法,为什么我们需要分两个阶段进行?为什么我们不能在训练模型的同时选择最佳

我正在测试用于特征选择的嵌入式方法

我理解(也许我误解了)使用嵌入式方法,我们可以在训练模型时获得最好的特性(基于特性的重要性)

就是这样,我想得到经过训练的模型的分数(该模型经过训练以选择特征)

我正在用套索方法测试分类问题

当我试图得到分数时,我得到了一个错误,我需要重新拟合模型

  • 为什么我需要这样做(如果在功能选择上安装模型,似乎是浪费时间?)
  • 为什么我们不能一次完成(选择功能并获得模型分数)
  • 为什么如果我们使用嵌入式方法,为什么我们需要分两个阶段进行?为什么我们不能在训练模型的同时选择最佳的功能

    from sklearn.linear_model import Lasso, LogisticRegression
    from sklearn.feature_selection import SelectFromModel
    estimator = LogisticRegression(C=1, penalty='l1', solver='liblinear')
    selection = SelectFromModel(estimator)
    selection.fit(x_train, y_train)
    print(estimator.score(x_test, y_test))
    
  • 错误:

    sklearn.exceptions.NotFittedError: This LogisticRegression instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
    

    拟合的估计器作为选择返回。估计器(参见);因此,在安装
    选择后,您只需执行以下操作:

    selection.estimator_.score(x_test, y_test)
    

    但如果我们使用的是嵌入式方法,为什么我们需要分两个阶段进行呢?为什么我们不能在训练模型的同时选择最佳的功能?