小编Jam*_*ond的帖子

使用Scikit学习确定RF模型中每个类别的功能重要性

我有一个遵循一键编码模式的数据集,我的因变量也是二进制的。我的代码的第一部分列出了整个数据集的重要变量。我使用了本stackoverflow帖子中提到的方法:“ 使用scikit确定每个功能对特定类预测的贡献“我不确定要获得什么输出。对于我来说,功能重要性是整个模型中最重要的功能,“与延迟相关的DMS”。我将其解释为,该变量应该很重要在Class 0或Class 1中,但是从我得到的输出中,这在两个Class中都不重要。我在上面共享的stackoverflow中的代码还显示,当DV为二进制时,Class 0的输出正好相反(按术语类1的符号+/-)。在我的情况下,两个类中的值都不同。

这是情节的样子:-

功能重要性-整体模型

功能重要性-整体模型

功能重要性-0级 功能重要性-0级

功能重要性-1级 功能重要性-1级

我的代码的第二部分显示了累积功能的重要性,但是查看[plot]则表明所有变量都不重要。我的公式有误还是解释有误?

情节 情节

这是我的代码;

import pandas as pd
import numpy as np
import json
import matplotlib.pyplot as plt
%matplotlib inline

from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.metrics import confusion_matrix
from sklearn.preprocessing import scale
from sklearn.ensemble import ExtraTreesClassifier


##get_ipython().run_line_magic('matplotlib', 'inline')

file = r'RCM_Binary.csv'
data = pd.read_csv()
print("data loaded successfully ...")

# Define features and target
X = data.iloc[:,:-1]
y = data.iloc[:,-1]

#split to training and testing
X_train, X_test, y_train, y_test …
Run Code Online (Sandbox Code Playgroud)

python machine-learning binary-data random-forest scikit-learn

7
推荐指数
1
解决办法
3901
查看次数