聚类算法k-Means的实现
![](https://images2015.cnblogs.com/blog/836979/201511/836979-20151118155348343-2105961592.jpg)
![](https://images2015.cnblogs.com/blog/836979/201511/836979-20151118155438202-691822123.jpg)
![](https://images2015.cnblogs.com/blog/836979/201511/836979-20151118155504280-333437550.jpg)
![](https://images2015.cnblogs.com/blog/836979/201511/836979-20151118155544921-945933738.jpg)
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."
");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