变量重要性(或特征重要性)是针对您要拟合模型的所有特征计算的。此伪代码让您了解变量名称和重要性如何相关:
import pandas as pd
train = pd.read_csv("train.csv")
cols = ['hour', 'season', 'holiday', 'workingday', 'weather', 'temp', 'windspeed']
clf = YourClassifiers()
clf.fit(train[cols], train.targets) # targets/labels
print len(clf.feature_importances_)
print len(cols)
您将看到正在打印的两个列表的长度是相同的 - 您基本上可以将列表映射在一起或按照您的意愿操作它们。如果您想在绘图中很好地显示变量的重要性,您可以使用它:
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(6 * 1.618, 6))
index = np.arange(len(cols))
bar_width = 0.35
plt.bar(index, clf.feature_importances_, color='black', alpha=0.5)
plt.xlabel('features')
plt.ylabel('importance')
plt.title('Feature importance')
plt.xticks(index + bar_width, cols)
plt.tight_layout()
plt.show()
如果您不想使用此方法(意味着您正在拟合所有列,而不仅仅是选择cols
变量中设置的少数列),那么您可以获取数据的列/特征/变量名称train.columns.values
(然后映射此列表连同可变重要性列表或以其他方式操作)。