类别内数据分布
箱型图
箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。
箱形图于1977年由美国著名统计学家约翰·图基(John Tukey)发明。它能显示出一组数据的最大值、最小值、中位数、及上下四分位数。
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
图2
图3
图4
小提琴图
小提琴图 (Violin Plot) 用于显示数据分布及其概率密度。 这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状。
中间的黑色粗条表示四分位数范围,从其延伸的幼细黑线代表 95% 置信区间,而白点则为中位数。
箱形图在数据显示方面受到限制,简单的设计往往隐藏了有关数据分布的重要细节。例如使用箱形图时,我们不能了解数据分布。虽然小提琴图可以显示更多详情,但它们也可能包含较多干扰信息。
sns.violinplot(x="day", y="total_bill", data=data)
类别内的统计估计
绘制条形图
sns.barplot(x="day", y="total_bill", data=data)
绘制点图
sns.pointplot(x="day", y="total_bill", data=data)
K-近邻算法(KNN)
如果⼀个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的⼤多数属于某⼀个类别,则该样本也属于这个类别。K Nearest Neighbor算法⼜叫KNN算法,这个算法是机器学习⾥⾯⼀个⽐较经典的算法, 总体来说KNN算法是相对⽐ 较容易理解的算法 。
距离公式(欧式距离)
KNN算法流程总结
1)计算已知类别数据集中的点与当前点之间的距离
2)按距离递增次序排序
3)选取与当前点距离最⼩的k个点
4)统计前k个点所在的类别出现的频率
5)返回前k个点出现频率最⾼的类别作为当前点的预测分类
安装 scikit-learn
pip3 install scikit-learn==0.19.1
使用
import sklearn
scikit-learn包含的内容
分类、聚类、回归
特征⼯程
模型选择、调优
API 使用
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)
n_neighbors:int,可选(默认= 5),k_neighbors查询默认使⽤的邻居数