KNN算法原理:

        knn算法功能:分类(KNeighborsRegressor)、回归(KNeighborsClassifier

        knn算法原理核心时距离:他是将我们的输入的数据、训练的特征数据转换成坐标轴上的点,通过计算输入点和训练上的点的距离去筛选出里输入点最近的距离一部分点去判断输入点的状态(分类和预测不一样统一用状态代替);分类,就需要将找最近点的最多的分类特征; 预测(回归)的值就是取我们最近点的平均值

        knn底层计算距离的公式:欧氏距离,曼哈顿距离,闵氏距离 (对应

        欧式距离:核心时勾股定理;计算两点之间的的距离通过x轴的距离差的平方和y轴的距离差的平方和去确定两点之间的距离

        曼哈顿距离:通过取两点之间的最打的横向或者纵向距离求距离长度

        闵氏距离:是将二者结合 当我们的数据无穷大的适合沃恩只需要找到最大X或者Y轴的距离

机器学习代码流程:

1、准备数据

来源:公司的或者自己爬的数据

2、数据预处理

        功能:需要查看特征数据的空值、异常值、重复值进行处理 最终转换成模型能认识的字符  

3、特征工程

         目的:将不同口径的数据全都统一口径

         背景: 数据的口径量级相差太大 会影响特征的权重 比如每天锻炼跑步的步数和做引体向上的个数相比 他们都是衡量身体的健康的重要指标但是两个数据差距倍数较大,在模型最后会对每个特征计算方差,这个结果会影响到最后的特征的权重

        注意:可以直接使用原数据去将数据集拆分训练集和测试集 

                   做了特诊标准化后使用转化前的数据训练再使用转化后的测试集去预测的化会出先训                       练效果很差的情况(训练集和的特征都需要一样)

        方式:

                标准化(StandardScaler):他是建立在归一化的基础上将所有数据转化成正态分布极大减少了异常值对数据的影响(这个是最经常使用的)

                归一化(MinMaxScaler):主要目的是将特征数据值全都转化到0-1的区间规范所有的数据防止数据口径不同对特征权重的影响,但是输入数据量太多数据预处理阶段我们的数据的异常值没能被清洗出去,造成异常值的中间分布会变的很小或者很大

4、模型训练

注意:回归算法没有得分

4.1、分类算法(KNeighborsClassifier)

4.2、回归算法(KNeighborsRegressor)

5、模型评估

        

更多推荐