在python中决策树的特征重要性怎么判断
时间: 2024-05-03 22:19:13 浏览: 95
template-decision-tree-feature-importance:用于实现特征重要性和连续分类特征的决策树的 PredictionIO 模板
在Python中,可以使用决策树算法实现特征重要性的计算。在sklearn库中,DecisionTreeClassifier类和DecisionTreeRegressor类都提供了一个属性`feature_importances_`,用于计算特征重要性。
具体做法如下:
1. 导入需要的库和数据集
```python
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
import pandas as pd
iris = load_iris()
X = iris.data
y = iris.target
```
2. 创建决策树模型并训练数据
```python
dt = DecisionTreeClassifier()
dt.fit(X, y)
```
3. 查看特征重要性
```python
print(dt.feature_importances_)
```
`feature_importances_`属性返回一个数组,表示各个特征的重要性。
注意:特征重要性的值越大,则代表该特征对决策树分类的贡献越大。
如果你想让特征重要性更加直观地展示,可以使用pandas库将其转换为DataFrame,并使用matplotlib库进行可视化。
```python
import matplotlib.pyplot as plt
feature_importances = pd.DataFrame(dt.feature_importances_,
index = iris.feature_names,
columns=['importance']).sort_values('importance',ascending=False)
print(feature_importances)
plt.bar(feature_importances.index, feature_importances.importance)
plt.xticks(rotation=90)
plt.show()
```
这样就可以得到每个特征的重要性,并且通过柱状图进行可视化显示。
阅读全文