用西瓜数据实现决策树(用信息增益的方法)的python代码
时间: 2024-10-08 14:01:38 浏览: 89
西瓜数据(西瓜数据集,Iris dataset)是一个经典的机器学习数据集,用于演示分类算法。在这里,我们可以使用Python的scikit-learn库来构建决策树,其中信息增益是决策树划分特征的一个常用策略。以下是使用信息增益创建决策树的简单示例:
```python
# 导入所需的库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 加载西瓜数据集
iris = load_iris()
X = iris.data # 特征数据
y = iris.target # 类别标签
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建并训练决策树模型,设置信息增益作为分裂标准
clf = DecisionTreeClassifier(criterion='gini', max_depth=None) # 'gini'代表信息熵,'entropy'也经常用于信息增益
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy on the test set: {accuracy * 100:.2f}%")
# 深入了解决策树可以查看每个节点的信息增益
# clf.tree_.compute_information_gain() # 这行代码需要对DecisionTreeClassifier的内部结构有深入了解才能调用
阅读全文