Python 如何从安装的scikit学习模型中获取功能的数量?

Python 如何从安装的scikit学习模型中获取功能的数量?,python,scikit-learn,Python,Scikit Learn,在我将模型与数据拟合后,我试图从模型中提取特征的数量 我查看了模型的目录,找到了只获取特定模型的编号的方法(例如,查看支持向量机的支持向量的维度),但我没有找到一种适用于任何类型模型的通用方法 假设我有实例和相应类的数据集 X,y#数据集 并使用scikit学习库中的任意模型来拟合此数据 model.fit(X,y) 稍后我想使用这个模型来查找原始数据集的维度,以 model.n_features_ 有没有一种快速而通用的方法可以做到这一点?在Sklearn中,所有分类器都没有一个通用属性

在我将模型与数据拟合后,我试图从模型中提取特征的数量

我查看了模型的目录,找到了只获取特定模型的编号的方法(例如,查看支持向量机的支持向量的维度),但我没有找到一种适用于任何类型模型的通用方法

假设我有实例和相应类的数据集

X,y#数据集
并使用scikit学习库中的任意模型来拟合此数据

model.fit(X,y)
稍后我想使用这个模型来查找原始数据集的维度,以

model.n_features_

有没有一种快速而通用的方法可以做到这一点?

在Sklearn中,所有分类器都没有一个通用属性

我建议如下:

对于任何
sklearn.linear_模型
/
sklearn.svm.svc
,您可以使用以下方法

>>> clf.coef_.shape[-1]
对于任何基于树的模型(
DecisionTreeClassifier
/
RandomForestClassifier
/
GradientBoostingClassifier
),您可以使用

>>> clf.n_features_

实现so的一种不切实际的方法是将您自己的自定义成员注入到您创建和训练的任何模型实例中,例如:clf.\uu my\u num\u features=…@InonPeled这是一个非常好的主意。谢谢你的回答。