介绍
小编给大家分享一下Java如何实现的k - means聚类算法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强>需求强>
对MySQL数据库中某个表的某个字段执行k - means算法,将处理后的数据写入新表中。
<强>源码及驱动强>
kmeans_jb51。rar
<>强源码强>
import java.sql。*; import java.util。*;/* * ,* @author tianshl ,* @version 2018/1/13 上午11:13 ,*/public class  Kmeans {//才能,源数据 private 才能;List< Integer>, origins =, new ArrayList<在();//,才能分组数据 private 才能Map<双,List祝辞,分组;//才能,初始质心列表 private 才能;List< Double>,核心;//才能,数据源 private 才能;String 表名; private 才能;String  colName; ,/* * ,,*,构造方法 ,,* ,,*,@param tableName 源数据表名称 ,,*,@param colName ,源数据列名称 ,,*,@param cores ,,质心列表 ,,*/private 才能;Kmeans (String 表,String colName, List ,核心){ ,,,this.cores =,核心; ,,,this.tableName =,表名; ,,,this.colName =, colName; ,,} ,/* * ,,*,重新计算质心 ,,* ,,*,@return 新的质心列表 ,,*/private 才能;List< Double>, newCores () { ,,,List , newCores =, new ArrayList<在(); ,,,(List , _cores =, newCores (); ,,,(int i=0, len=cores.size ();, i , diffs =, new ArrayList<在(); ,,,//,计算差 ,,,(Double 核心:,核心){ ,,,,,diffs.add (Math.abs (num 安康;核心)); ,,,} ,,,//,最小差,→,索引,→,对应的质心 ,,,return cores.get (diffs.indexOf (Collections.min(差别))); ,,} ,/* * ,,*,建立数据库连接 ,,*,@return 连接 ,,*/private 才能;Connection  getConn () { ,,,try { ,,,,,//,URL指向要访问的数据库名mydata ,,,,,String url =,“jdbc: mysql://localhost: 3306/data_analysis_dev"; ,,,,,//,MySQL配置时的用户名 ,,,,,String user =,“root"; ,,,,,//,MySQL配置时的密码 null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null Java如何实现的k - means聚类算法