24.9.29 机器学习入门DAY8

229 阅读2分钟

类别内数据分布

箱型图

箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。

箱形图于1977年由美国著名统计学家约翰·图基(John Tukey)发明。它能显示出一组数据的最大值、最小值、中位数、及上下四分位数。

image.png sns.boxplot(x="day",y="total_bill",data=data) palette: 用于设置不同级别色相的颜色变量。用法:palette=["r","g","b","y"] saturation:用于设置数据显示的颜色饱和度。用法:使用小数表示

sns.boxplot(x="day",y="total_bill",data=data) # 图1
sns.boxplot(x="day",y="total_bill",data=data, hue="time") # 图2
sns.boxplot(x="day",y="total_bill",data=data, hue="time", palette=["g","b","y", "r"]) # 图3
sns.boxplot(x="day",y="total_bill",data=data, hue="time", palette=["g", "r"], saturation=0.9) # 图4

图1 image.png 图2 image.png 图3 image.png 图4 image.png

小提琴图

小提琴图 (Violin Plot) 用于显示数据分布及其概率密度。 这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状。

中间的黑色粗条表示四分位数范围,从其延伸的幼细黑线代表 95% 置信区间,而白点则为中位数。

image.png 箱形图在数据显示方面受到限制,简单的设计往往隐藏了有关数据分布的重要细节。例如使用箱形图时,我们不能了解数据分布。虽然小提琴图可以显示更多详情,但它们也可能包含较多干扰信息。

sns.violinplot(x="day", y="total_bill", data=data)

image.png

类别内的统计估计

绘制条形图

sns.barplot(x="day", y="total_bill", data=data)

image.png

绘制点图

sns.pointplot(x="day", y="total_bill", data=data)

image.png

K-近邻算法(KNN)

如果⼀个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的⼤多数属于某⼀个类别,则该样本也属于这个类别。K Nearest Neighbor算法⼜叫KNN算法,这个算法是机器学习⾥⾯⼀个⽐较经典的算法, 总体来说KNN算法是相对⽐ 较容易理解的算法 。

距离公式(欧式距离)

image.png

KNN算法流程总结

1)计算已知类别数据集中的点与当前点之间的距离

2)按距离递增次序排序

3)选取与当前点距离最⼩的k个点

4)统计前k个点所在的类别出现的频率

5)返回前k个点出现频率最⾼的类别作为当前点的预测分类

安装 scikit-learn

pip3 install scikit-learn==0.19.1

使用

import sklearn

scikit-learn包含的内容

image.png

分类、聚类、回归

特征⼯程

模型选择、调优

API 使用

sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)

n_neighbors:int,可选(默认= 5),k_neighbors查询默认使⽤的邻居数