不懂算法的数据开发者不是一个好的算法工程师,还记得研究生时候,导师讲过的一些数据挖掘算法,颇有兴趣,但是无奈工作后接触少了,数据工程师的鄙视链,模型>实时>离线数仓>ETL工程师>BI工程师(不喜勿喷哈),现在做的工作主要是离线数仓,当然前期也做过一些ETL的工作,为了职业的长远发展,拓宽自己的技术边界,有必要逐步深入实时和模型,所以从本篇文章开始,也是列个FLAG,深入学习实时和模型部分。
改变自己,从提升自己不擅长领域的事情开始。
1. KNN - K近邻算法简介
首先,KNN是一种分类算法,有监督的机器学习,将训练集的类别打标签,当测试对象和训练对象完全匹配时候,就可以对其进行分类,但是测试对象与训练对象的多个类,如何匹配呢,前面可以判别是否测试对象术语某个训练对象,但是如果是多个训练对象类,那如何解决这种问题呢,所以就有了KNN,KNN是通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中K通常是不大于20的整数。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别
KNN算法的核心思想是,如果一个样本在特征