决策树离散化代码实现
时间: 2023-08-07 13:22:48 浏览: 59
以下是使用Python实现决策树离散化的示例代码:
```python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
# 加载数据集
data = pd.read_csv('data.csv')
# 将连续型特征进行等频离散化
data['age'] = pd.qcut(data['age'], 4, labels=False)
data['income'] = pd.qcut(data['income'], 4, labels=False)
# 将离散型特征转换为数值型特征
data['gender'] = data['gender'].map({'male': 0, 'female': 1})
data['marital_status'] = data['marital_status'].map({'married': 0, 'single': 1})
# 划分训练集和测试集
X = data.drop('buy', axis=1)
y = data['buy']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建决策树模型
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = clf.predict(X_test)
# 输出模型的准确率
accuracy = clf.score(X_test, y_test)
print('模型的准确率为:', accuracy)
```
在上述代码中,首先加载了一个名为data.csv的数据集,其中age和income是连续型特征,gender和marital_status是离散型特征。然后使用pd.qcut()函数将age和income进行了等频离散化,将gender和marital_status转换为数值型特征。接着使用train_test_split()函数将数据集划分为训练集和测试集,再使用DecisionTreeClassifier()函数构建决策树模型,最后在测试集上进行预测并输出模型的准确率。
需要注意的是,离散化的方法和参数需要根据实际情况进行选择。在本例中,使用了等频离散化将age和income分成了4个区间,这个参数可以根据数据集的大小和分布情况进行调整。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)