博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
K-means算法[聚类算法]
阅读量:7054 次
发布时间:2019-06-28

本文共 2840 字,大约阅读时间需要 9 分钟。

聚类算法k-Means的实现

1 
"); 25 $sum +=pow($center[$i][$j][$k]-$array_center[$i][$k-1],2); 26 } 27 //print_r($sum."
"); 28 $total_sum +=$sum; 29 } 30 } 31 return $total_sum; 32 } 33 //-------------------------------------------------------------------- 34 35 /* 36 37 *K-means(聚类算法的实现) 38 39 */ 40 41 //-------------------------------------------------------------------- 42 function Kmeans($train,$k,$array_center) 43 { 44 45 $flags = true; 46 do{ 47 if($flags) 48 { 49 $total_sum = 10; 50 }else $total_sum = $total_sum2; 51 $array_distance = array(array()); 52 array_splice($array_distance,0,1); 53 for($i=1;$i
"; 75 */ array_push($array,$distance); 76 } 77 array_push($array_distance,$array); 78 } 79 $array_min = array(array()); 80 array_splice($array_min,0,1); 81 for($i=0;$i
$array_distance[$i][$j]){ 90 $num++; 91 $min = $array_distance[$i][$j]; 92 } 93 } 94 array_push($array,$num); 95 // array_push($array,$min); 96 array_push($array_min,$array); 97 } 98 for($i=0;$i<$k;$i++) 99 {100 $center[$i]= array(NULL);101 array_splice($center[$i],0,1);102 }103 for($i=1;$i
");134 }135 array_push($array_center,$sum);136 }137 $total_sum2 = JI($center,$array_center);138 $flags = false;139 /*140 print_r($total_sum."
");141 print_r($total_sum2."
");142 print_r(abs($total_sum2-$total_sum)."
");143 */144 }while(abs($total_sum2-$total_sum)>0.000002);145 146 $result = array(array());147 array_splice($result,0,1);148 for($i=0;$i
";158 }159 return $result;160 /*161 echo "
";162     print_r($array_distance);163     echo "
";164     print_r($array_min);165     echo "
";166     print_r($center);167         echo "
";168     print_r($array_center);169 */    170 }171 //--------------------------------------------------------------------172 173 /*174 *数据[0,1]规格化175 */176 //--------------------------------------------------------------------177 function normalization($train)178 {179     for($i=1;$i
$max)191 {192 $max = $train[$j][$i];193 }194 }195 for($j=1;$j
");222 $con = explode(" ",$result[$j]);223 array_push($array,$con);224 }225 array_splice($array,0,1);226 return $array;227 }228 //--------------------------------------------------------------------229 230 231 /*232 233 *把数组中内容写到.txt中保存234 *$result:要存储的数组内容235 *$filename:文件名称236 237 */238 239 //--------------------------------------------------------------------240 function Array_Totxt($result,$filename)241 {242 $fp= fopen($filename,'wb');243 for($i=0;$i

 

 

原始数据:

 

原始数据进行[0,1]规格化后的数据:

 

结果:每行是一个类别

转载于:https://www.cnblogs.com/minmsy/p/4974829.html

你可能感兴趣的文章
转 管线开发
查看>>
Struts2学习笔记1
查看>>
远程首次连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析(转)
查看>>
php栈数据结构和括号匹配算法
查看>>
Visual Studio 2013 的 Xamarin 安装教程
查看>>
Spring_Task初探(注解,XML配置)
查看>>
MyEclipse 2015优化技巧
查看>>
众推项目的最近讨论
查看>>
SD卡兼容性问题(转)
查看>>
解决ecshop登陆自动退出的莫名现象
查看>>
面试之求找两个数和为某个数、几个连续数等于某个数
查看>>
【LaTeX排版】LaTeX纸排版&lt;两&gt;
查看>>
C/C++函数调用方式
查看>>
Timer Swing
查看>>
Cassandra命令行CLI的基本使用
查看>>
Java String常见问题
查看>>
x264代码剖析(十五):核心算法之宏块编码中的变换编码
查看>>
Android仿微信进度弹出框的实现方法
查看>>
Spring事务管理
查看>>
[转]所有人都在渲染程序员的中年危机,我们却在劝你重新学会学习
查看>>