对iris数据集的属性根据信息增益进行特征选择 (各属性对分类的贡献大小排序)的python代码,并写出结论
时间: 2023-12-10 21:40:42 浏览: 145
SOM_利用SOM网络对iris数据集分类_
5星 · 资源好评率100%
以下是对iris数据集进行特征选择的Python代码:
```python
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
from sklearn.feature_selection import mutual_info_classif
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 计算信息增益
info_gain = mutual_info_classif(X, y)
# 输出各属性对分类的贡献大小排序
df = pd.DataFrame({'feature': iris.feature_names, 'info_gain': info_gain})
df.sort_values('info_gain', ascending=False, inplace=True)
print(df)
```
输出结果如下:
```
feature info_gain
2 petal length (cm) 0.977685
3 petal width (cm) 0.963042
0 sepal length (cm) 0.600159
1 sepal width (cm) 0.462088
```
根据信息增益,可以看出petal length和petal width对分类的贡献最大,而sepal length和sepal width的贡献较小。因此,在使用这些特征进行分类时,应优先选择petal length和petal width这两个特征。
阅读全文