获取案例链接、直播课件、数据集在本公众号内发送“机器学习”。
鲍鱼是一种贝类,在世界许多地方被认为是美味佳肴。是铁和泛酸的极好来源,也是澳大利亚、美洲和东亚的营养食品资源和农业。100克鲍鱼就能给人体提供超过 20% 上述每日摄入营养素。鲍鱼的经济价值与年龄正相关。因此,准确检测鲍鱼的年龄对养殖户和消费者确定鲍鱼的价格具有重要意义。
然而,目前确定鲍鱼年龄的技术是相当昂贵和低效的。农场主通常把鲍鱼的壳割下来,用显微镜数鲍鱼环的数量,以估计鲍鱼的年龄。因此判断鲍鱼的年龄很困难,主要是因为鲍鱼的大小不仅取决于年龄,而且还取决于食物的供应情况。此外,鲍鱼有时会形成所谓的“发育不良”群体,这些群体的生长特性与其他鲍鱼种群有很大不同。这种复杂的方法增加了成本,限制了应用范围。本案例的目标是使用机器学习中的回归模型,找出最佳的指标来预测鲍鱼环数,进而预测鲍鱼的年龄。
1 数据集探索性分析
我们首先将鲍鱼数据集 abalone_dataset.csv
读取为 Pandas
的 DataFrame
格式。
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
data = pd.read_csv("./input/abalone_dataset.csv")
data.head()
![3b931d81e100db5d392e3f356dc43e8e.png](https://i-blog.csdnimg.cn/blog_migrate/a262b1218fff54c5722e0f7593677555.png)
查看数据集中样本数量和特征数量。
data.shape
![553ffc1c7499f7d83ecdae1df786a1a8.png](https://i-blog.csdnimg.cn/blog_migrate/eb01982cd2c5f64b4e8859c6a570fdf8.png)
![89649ea5064d90db398149d5e05a1e4f.png](https://i-blog.csdnimg.cn/blog_migrate/1b567a5b1c6ebb164909839562c9b380.png)
数据集一共有 4177 个样本,每个样本有 9 个特征。其中 rings
为鲍鱼环数,能够代表鲍鱼年龄,是预测变量。除了 sex
为离散特征,其余都为连续变量。
首先借助 seaborn
中的 countplot
函数绘制条形图,观察 sex
列的取值分布情况。
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
sns.countplot(x = "sex", data = data)
![4d060d900ba4b175185bfdedeb5a6abc.png](https://i-blog.csdnimg.cn/blog_migrate/6db97fde5c32d0bf3bcfcf4c991f24fd.png)
![a1d65546f56187d47099e46b1225f0fd.png](https://i-blog.csdnimg.cn/blog_migrate/76a44826466d071b160f1516cb06b38e.png)
对于连续特征,可以使用 seaborn
的 distplot
函数绘制直方图观察特征取值情况。我们将 8 个连续特征的直方图绘制在一个 4 行 2 列的子图布局中。
i = 1 # 子图记数
plt.figure(figsize=(16, 8))
for col in data.columns[1:]:
plt.subplot(4,2,i)
i = i + 1
sns.distplot(data[col])
plt.tight_layout()
![bfc2c57c644f4a3f191adf1829ef0cef.png](https://i-blog.csdnimg.cn/blog_migrate/6798921d94b550ad5b13929ab9454d83.png)
sns.pairplot(data,hue="sex")
![06835fb4f9450a41f05a20e9b3ee6621.png](https://i-blog.csdnimg.cn/blog_migrate/74d34765d66151db696e5e259ff750f0.png)
![9473f44e1e136f7f96ee21539fe381ef.png](https://i-blog.csdnimg.cn/blog_migrate/66abbcab7d6445949eca3da91f616296.png)
从以上连续特征之间的散点图我