gpt4 book ai didi

python - 使用 sklearn 训练模型时如何更改特征权重?

转载 作者:太空狗 更新时间:2023-10-30 01:33:19 28 4
gpt4 key购买 nike

我想使用 sklearn 对文本进行分类。首先我用bag of words来训练数据,bag of words的特征非常大,超过10000个特征,所以我用SVD将这个特征减少到100个。

但在这里我想添加一些其他的特征,比如# of words、# of positive words、# of pronouns 等。附加特征只少了 10 个特征,与 100 个词袋特征相比真的很小

从这种情况我提出2个问题:

  1. sklearn 中是否有一些函数可以改变附加特征的权重以使其更重要?
  2. 如何检查附加特征对分类器是否重要?

最佳答案

虽然很感兴趣,但我不知道主要问题的答案。与此同时,我可以帮助完成第二个。

拟合模型后,您可以通过属性 model.feature_importances_ 访问特征重要性

我使用以下函数来标准化重要性并以更漂亮的方式显示它。

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns # (optional)

def showFeatureImportance(model):
#FEATURE IMPORTANCE
# Get Feature Importance from the classifier
feature_importance = model.feature_importances_

# Normalize The Features
feature_importance = 100.0 * (feature_importance / Feature_importance.max())
sorted_idx = np.argsort(feature_importance)
pos = np.arange(sorted_idx.shape[0]) + .5

#plot relative feature importance
plt.figure(figsize=(12, 12))
plt.barh(pos, feature_importance[sorted_idx], align='center', color='#7A68A6')
plt.yticks(pos, np.asanyarray(X_cols)[sorted_idx])
plt.xlabel('Relative Importance')
plt.title('Feature Importance')
plt.show()

关于python - 使用 sklearn 训练模型时如何更改特征权重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33973148/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com