KNN - K近邻算法
如果一个样本在特征空间中的k个最相似(即特征空间中最临近)的样本中的大多数属于某一个类别
两个样本的距离 – 欧式距离
二维平面

三维空间点

n维空间点


计算已知类别数据集中的点与当前点之间的距离
按距离递增次序排序
选取与当前点距离最小的k个点
统计前k个点所在的类别出现的概率
返回前k个点出现频率最高的类别作为当前点的预测分类
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)

欧式距离
曼哈顿距离

切比雪夫距离

闵可夫斯基距离

标准化欧氏距离

余弦距离

汉明距离

杰卡德距离

马氏距离

若属性值之间存在序关系,转化为连续值
不存在序关系,转化为向量形式
近似误差
估计误差
为了避免每次都重新计算一遍距离,算法把距离信息保存在一个树里,尽量避免重新计算


获取小数据集

获取大数据集

sklearn数据集返回值介绍
利用seaborn查看数据分布
数据集的划分
训练集
测试集
sklearn.model_selection.train_test_split()
特征工程:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程
为什么要进行归一化/标准化
归一化
标准化
4折交叉验证
将训练数据分为训练和验证集
经过4组的测试,每次都更换不同的验证集,得到4组模型的结果,取平均值作为最终结果

目的:为了让被评估的模型更加准确可信
超参数
每组超参数都采用交叉验证来进行评估,最后选出最优参数组合建立模型
网格搜索就是把这些超参数的值,通过字典的形式传递进去,然后进行选择最优值
