初学者的回归分析 - 第二部分
使用基于树的算法(决策树、随机森林、XGboost)建立一个ML回归模型

-
简介 -
第2.1部分 建立机器学习管道
∘ 第1步:收集数据
∘ 第二步:将数据可视化(问自己这些问题并回答)
∘ 第三步:清理数据
∘ 第四步:訓練模型
∘ 第五步:評估
∘ 第六步:使用hyperopt进行超参数调整
∘ 第七步:选择最佳模型和预测结果
-
第2.2部分:分析ML算法
∘ 什么是决策树?
∘ 什么是随机森林?
∘ 什么是极限梯度提升法?(XGBoost)
∘ 决策树 vs 随机森林 vs XGBoost
∘ 线性模型与树状模型的对比。
-
总结
引言
正如我在上一篇文章中所解释的,真正的数据科学家是从问题/应用的角度来思考的,并在编程语言或框架的帮助下找到解决问题的方法。在第一部分中,鱼的重量估计问题是用线性ML模型解决的,然而,今天我将介绍基于树的算法,如决策树,随机森林,XGBoost来解决同样的问题。在文章的前半部分2.1部分,我将建立一个模型,在后半部分2.2部分,我将从理论上解释每一种算法,将它们相互比较并找出其优点和缺点。
第2.1部分 构建机器学习管道
为了建立一个ML模型,我们需要遵循下面的管道步骤,几乎所有种类的模型都是如此。

图片由作者提供 由于我们要解决的问题和以前一样,一些管道步骤也是一样的,比如1.收集数据,2.可视化数据。然而,其他步骤会有一些修改。
步骤1:收集数据 数据是可以从Kaggle上下载的公共数据集。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from itertools import combinations
import numpy as np
data = pd.read_csv("Fish.csv")
第2步:可视化数据(问自己这些问题并回答)
数据看起来是什么样子的?
data.head()

数据是否有缺失值?
data.isna().sum()

数字特征的分布是怎样的?
data_num = data.drop(columns=["Species"])
fig, axes