天天看點

python分類變量相關性分析_Python – Scikit查找分類變量的變量重要性

為您的模型拟合的所有要素計算變量重要性(或要素重要性).此僞代碼可讓您了解變量名稱和重要性如何相關:

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擷取資料的列/要素/變量名稱(然後将此清單與變量重要性清單一起映射或以其他方式操作).