机器学习——python训练决策树模型实战
目录
机器学习实战目录
第一章 python训练线性模型实战
第二章 python训练决策树模型实战
第三章 python训练神经网络模型实战
第四章 python训练支持向量机模型实战
第五章 python训练贝叶斯分类器模型实战
第六章 python训练集成学习模型实战
第七章 python训练聚类模型实战
第八章 python训练KNN模型实战
第九章 python训练CNN模型实战
第十章 python训练RNN模型实战
......(会一直更新)
训练一个决策树模型需要经过以下步骤:
1. 下载数据集
可以在 kaggle、UCI ML Repository 等网站中下载各种类型的数据集。具体步骤如下:
- 前往 kaggle 网站(https://www.kaggle.com/)。
- 注册账号并登录。
- 搜索想要的数据集,并点击下载按钮下载数据集(.csv格式为例)。
- 下载后解压数据集到本地目录。
2. 数据预处理
一般来说,数据集需要进行以下处理:
- 缺失值的处理:可以将缺失值填充为均值、中位数或众数等。
- 数据标准化:可以使用 StandardScaler 或 MinMaxScaler 将数据进行标准化和归一化。
- 特征选择:可以使用相关性矩阵等方法去除冗余特征,提高模型的训练效率和泛化能力。
3. 加载数据集
使用 pandas 库读取 CSV 文件格式的数据集,生成训练和测试集。
```python
import pandas as pd
data = pd.read_csv('data.csv')
train_data = data.sample(frac=0.8, random_state=0)
test_data = data.drop(train_data.index)
```
其中,`frac` 参数是用于指定训练集占整个数据集的比例;`random_state` 则是用于设置生成伪随机数的种子,这样可以确保每次运行的时候得到相同的结果。
4. 准备训练数据
```python
import numpy as np
x_train = np.array(train_data[['feature1', 'feature2']])
y_train = np.array(train_data['label'])
x_test = np.array(test_data[['feature1', 'feature2']])
y_test = np.array(test_data['label'])
```
在这里,我们将训练集和测试集的特征以及标签分别提取出来,然后转换成 numpy 数组的形式。
5. 创建模型
```python
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier()
```
6. 训练模型
```python
model.fit(x_train, y_train)
```
7. 测试模型
使用测试数据集验证决策树模型的拟合效果:
```python
y_pred = model.predict(x_test)
from sklearn.metrics import accuracy_score
score = accuracy_score(y_test, y_pred)
print(f"Accuracy score: {score}")
```
这里我们使用的评价指标是准确率,用于衡量模型对数据的拟合度。其中,准确率越高,说明模型的拟合度越好,即预测结果和真实值之间的差距越小。
参考资料
[[1](https://scikit-learn.org/stable/modules/tree.html)]
[[2](https://zhuanlan.zhihu.com/p/57332604)]
大家觉得有帮助的话还请大家给个收藏关注鼓励一下,有什么问题评论区留言,看到会恢复哒~