在我将这个模型拟合到我的数据后,我试图从模型中提取特征的数量。
我查看了模型的目录并找到了仅为特定模型获取数字的方法(例如查看 SVM 的支持向量的维度),但我没有找到可用于任何类型的通用方法一个模型。
假设我有实例和相应类的数据集
X, y # dataset
并使用 scikit-learn
库中的任意模型来拟合此数据
model.fit(X,y)
后面想用这个模型求原始数据集的维度,有点碍事
model.n_features_
有没有快速通用的方法来做到这一点?
最佳答案
Sklearn 中的所有分类器都没有单一的公共(public)属性。
我会推荐以下内容:
对于任何sklearn.linear_model
/sklearn.svm.svc
,您可以使用以下方法。
>>> clf.coef_.shape[-1]
对于任何基于树的模型(DecisionTreeClassifier
/RandomForestClassifier
/GradientBoostingClassifier
),您可以使用
>>> clf.n_features_
更新:
1.0 版中的新增功能。
n_features_in_
:整数
Number of features seen during fit.
feature_names_in_
:
Names of features seen during fit. Defined only when X has feature names that are all strings.
关于python - 如何从拟合的 scikit-learn 模型中获取特征数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55380554/