# 环境要求依赖Flink Table API (flink-version:1.14.0以上)# 分类模型1、KNN2、逻辑回归3、朴素贝叶斯# 聚类模型4、kmeans# 其他模型5、热编码算法# maven依赖(1) 使用工件flink-ml-core_2.12来开发自定义 ML 算法(2) 使用工件flink-ml-core_2.12和flink-ml-iteration_2.12开发需要迭代的自定义 ML 算法(3) 使用工件flink-ml-lib_2.12以使用中现成的 ML 算法。
# 有监督学习算法介绍 (分类、回归)# KNN1、思想将特征向量二维化,根据变量K(离测试数据最近的节点数目,一般取基数),计算测试数据距离所有节点的距离,采用少数服从多数的原则来决定测试数据的归属2、训练数据 特征向量 结果标签5.3,3.7,1.5,0.2,Iris-setosa5.0,3.3,1.4,0.2,Iris-setosa7.0,3.2,4.7,1.4,Iris-versicolor6.4,3.2,4.5,1.5,Iris-versicolor......3、训练参数k = 7split = 0.87 (切分训练数据和测试数据)4、测试代码https://github.com/ainusers/deep-learning/blob/master/%E5%85%A5%E9%97%A8%E7%AF%87/%E5%9F%BA%E7%A1%80/2.%20%E7%9B%91%E7%9D%A3%E5%AD%A6%E4%B9%A0%20-%20%E5%88%86%E7%B1%BB/2.%20%E6%9C%80%E9%82%BB%E8%BF%91%E8%A7%84%E5%88%99%E5%88%86%E7%B1%BB(KNN)/%E4%BB%A3%E7%A0%81/KNN-custom.py5、测试结果Train set: 129Test set: 20>predicted='Iris-setosa', actual='Iris-setosa'>predicted='Iris-setosa', actual='Iris-setosa'>predicted='Iris-setosa', actual='Iris-setosa'>predicted='Iris-setosa', actual='Iris-setosa'>predicted='Iris-setosa', actual='Iris-setosa'>predicted='Iris-setosa', actual='Iris-setosa'>predicted='Iris-setosa', actual='Iris-setosa'>predicted='Iris-setosa', actual='Iris-setosa'>predicted='Iris-setosa', actual='Iris-setosa'>predicted='Iris-versicolor', actual='Iris-versicolor'>predicted='Iris-versicolor', actual='Iris-versicolor'>predicted='Iris-versicolor', actual='Iris-versicolor'>predicted='Iris-versicolor', actual='Iris-versicolor'>predicted='Iris-versicolor', actual='Iris-versicolor'>predicted='Iris-versicolor', actual='Iris-virginica'>predicted='Iris-virginica', actual='Iris-virginica'>predicted='Iris-virginica', actual='Iris-virginica'>predicted='Iris-virginica', actual='Iris-virginica'>predicted='Iris-virginica', actual='Iris-virginica'>predicted='Iris-virginica', actual='Iris-virginica'Accuracy: 95.0%# 朴素贝叶斯1、思想对于给出的待分类项,求解在待分类项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别2、训练数据