Ale*_*lex 2 nlp classification random-forest scikit-learn text-classification
问题标题说明了一切:如何使词袋模型更小?我使用随机森林和词袋功能集。我的模型大小达到 30 GB,并且我确信特征集中的大多数单词对整体性能没有贡献。
如何在不损失(太多)性能的情况下缩小大词袋模型?
使用特征选择。特征选择使用一些评分函数,根据特征相对于标签的分布从数据集中删除特征。
例如,很少出现或随所有标签随机出现的特征不太可能有助于准确分类,并且得分较低。
这是一个使用的示例sklearn:
from sklearn.feature_selection import SelectPercentile
# Assume some matrix X and labels y
# 10 means only include the 10% best features
selector = SelectPercentile(percentile=10)
# A feature space with only 10% of the features
X_new = selector.fit_transform(X, y)
# See the scores for all features
selector.scores
Run Code Online (Sandbox Code Playgroud)
与往常一样,请确保仅调用fit_transform您的训练数据。使用开发或测试数据时,仅使用transform. 请参阅此处以获取其他文档。
请注意,还有一个SelectKBest,它具有相同的功能,但它允许您指定要保留的功能的绝对数量,而不是百分比。
| 归档时间: |
|
| 查看次数: |
1469 次 |
| 最近记录: |