决策树c4.5python代码
时间: 2023-07-22 21:56:28 浏览: 115
python实现C4.5决策树算法
决策树是一种常用的分类和回归算法,C4.5是一种经典的决策树算法,它可以处理离散特征和连续特征。在Python中,我们可以使用scikit-learn库中的DecisionTreeClassifier类实现C4.5算法。
首先,需要准备数据集。例如,我们有一个包含特征和标签的数据集,可以使用如下代码读取数据:
```python
import pandas as pd
# 读取数据集
data = pd.read_csv('data.csv')
X = data.drop('label', axis=1)
y = data['label']
```
接着,可以使用scikit-learn库中的DecisionTreeClassifier类构建和训练决策树模型。
```python
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建决策树模型
clf = DecisionTreeClassifier(criterion='entropy')
clf.fit(X_train, y_train)
```
在构建决策树模型时,我们可以指定criterion参数为'entropy',表示使用信息熵作为划分标准。除了信息熵,还可以选择使用基尼系数('gini')作为划分标准。
模型训练完成后,可以使用测试集评估模型的性能。
```python
from sklearn.metrics import accuracy_score
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
完整代码示例:
```python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 读取数据集
data = pd.read_csv('data.csv')
X = data.drop('label', axis=1)
y = data['label']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建决策树模型
clf = DecisionTreeClassifier(criterion='entropy')
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
注意:以上代码中的'data.csv'是一个示例数据集的文件名。你需要将代码中的数据集文件名替换为你自己的数据集文件名,并确保数据集的格式正确。
阅读全文