ExtraTreesClassifier计算数据特征的重要性,选择指定个数的特征,并训练分类,特征选择辅助印第安人糖尿病诊断python代码
时间: 2024-02-12 21:08:36 浏览: 11
以下是使用ExtraTreesClassifier计算数据特征重要性,选择指定个数的特征并训练分类器,辅助印第安人糖尿病诊断的Python代码:
```python
import pandas as pd
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.feature_selection import SelectFromModel
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 读取数据集
data = pd.read_csv('pima-indians-diabetes.csv')
# 将数据集分成特征和标签
X = data.iloc[:, 0:8]
y = data.iloc[:, 8]
# 训练ExtraTreesClassifier模型
model = ExtraTreesClassifier()
model.fit(X, y)
# 选择重要性得分最高的3个特征
sfm = SelectFromModel(model, threshold=0.1, prefit=True)
X_selected = sfm.transform(X)
# 将数据集分成训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_selected, y, test_size=0.2, random_state=42)
# 训练分类器
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算分类器准确率
accuracy = accuracy_score(y_test, y_pred)
print('分类器准确率:', accuracy)
```
在运行此代码之前,需要确保已经安装了pandas、scikit-learn和numpy库,并且数据集文件`pima-indians-diabetes.csv`与代码文件在同一目录下。此代码将首先使用ExtraTreesClassifier计算每个特征的重要性得分,并选择重要性得分最高的3个特征。然后,将选择的特征用于训练分类器,并使用测试集进行预测和计算分类器准确率。