python - 如何从拟合的 scikit-learn 模型中获取特征数量?
问题描述
在我将此模型拟合到我的数据后,我试图从模型中提取特征数量。
我查看了模型的目录并找到了仅获取特定模型的数字的方法(例如查看 SVM 的支持向量的维度),但我没有找到可用于任何类型模型的通用方法。
假设我有我的实例数据集和相应的类
X, y # dataset
并使用scikit-learn
库中的任意模型来拟合此数据
model.fit(X,y)
后来我想用这个模型找到原始数据集的维度,有点像
model.n_features_
有没有一种快速通用的方法来做到这一点?
解决方案
Sklearn 中的所有分类器没有一个共同的属性。
我会推荐以下内容:
对于任何sklearn.linear_model
/ sklearn.svm.svc
,您可以使用以下方法。
>>> clf.coef_.shape[-1]
对于任何基于树的模型 ( DecisionTreeClassifier
/ RandomForestClassifier
/ GradientBoostingClassifier
),您可以使用
>>> clf.n_features_
更新:
1.0 版中的新功能。
n_features_in_
: 整数
拟合期间看到的特征数。
feature_names_in_
:
拟合期间看到的特征名称。仅当 X 具有全为字符串的特征名称时才定义。
推荐阅读
- amazon-web-services - 创建 EC2 实例并将其附加到特定的 ECS 集群
- android - 如何将 Material Components 添加到 Android Studio 的 Palette?
- hash - 在哈希 sha256 中转换字符串
- sql - 需要总和查询以包括零总计
- php - 当我要做的只是测试主视图的端点时,为什么我的单元测试失败了?
- python - 在 django python 中渲染响应
- javascript - 没有名称的 Cookie 集
- c# - Ocelot API Gateway 错误:无法建立连接,因为目标机器主动拒绝它
- c - 如何在某些字符处忽略 scanf()?
- regex - not sure what's the problem with this "regex" in the "grep" shell command