Machine Learning by Andrew Ng --- K-means

K-means is a kind of cluster algorithm, It allows us to find characteristics in the No characteristic data.
The two important steps of K-means : One is that clustering every example to its right centroid . Another is that computing every example of each centroid’s average,then move the correspond cenroid to the average point.

Here are the whole steps of K-mean:
  • random initialize K(it is better to choose K from the exit examples).
  • repeat{ 1.clustering every example to its right centroid 2. computing every example of each centroid’s average,then move the correspond cenroid to the average point. }

    Something more important already mentioned in the lecture notes.

The solution (U should do it by yourself,i am just recording so i can review it future)
  • findClosestCentroids.m
     
    minvec=zeros(K,1);
    for index = 1:size(X,1)
    for i = 1:K
    minvec( i , 1 ) = sum( ( X(index,:)-centroids(i,:) ).^2 ) ;
    end
    [m , n] = min( minvec );
    idx(index , 1) = n;
    end
  • computeCentroids.m
    for index = 1:K 
    m1 = find(idx==index);
    centroids(index,:) = ( sum(X(m1,:)) )/size(m1,1);
    end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值