<address id="zhpbl"></address>
<noframes id="zhpbl">
<address id="zhpbl"><form id="zhpbl"><th id="zhpbl"></th></form></address>

    <em id="zhpbl"></em>

      <address id="zhpbl"><th id="zhpbl"><progress id="zhpbl"></progress></th></address>
      更多精彩內容,歡迎關注:

      視頻號
      視頻號

      抖音
      抖音

      快手
      快手

      微博
      微博

      java kmeans

      文檔

      java kmeans

      k-means是一種迭代求解的聚類分析算法,其步驟是,預將數據分為K組,則隨機選取K個對象作為初始的聚類中心,然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。
      推薦度:
      導讀k-means是一種迭代求解的聚類分析算法,其步驟是,預將數據分為K組,則隨機選取K個對象作為初始的聚類中心,然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。

      java kmeans是什么,讓我們一起了解一下?

      k-means是一種迭代求解的聚類分析算法,其步驟是,預將數據分為K組,則隨機選取K個對象作為初始的聚類中心,然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。

      K-means算法是怎樣的?

      1、選取K個點作為初始質心。

      2、對每個樣本分別計算到K個質心的相似度或距離,將該樣本劃分到相似度最高或距離最短的質心所在類。

      3、對該輪聚類結果,計算每一個類別的質心,新的質心作為下一輪的質心。

      4、判斷算法是否滿足終止條件,滿足終止條件結束,否則繼續第2、3、4步。

      java如何實現kmeans?

      初始化:

      1、先把數據集中的點的坐標讀入到一個二維數組中。

      2、并選擇前面的三個點作為初始的中心點。

      迭代部分:

      1、對每個點分別計算到三個中心點的距離,并根據最小的距離給點分類。

      2、對每一類的所有點的橫縱坐標計算均值生成新的中心點保存。

      具體代碼示例如下:

      import?java.io.*;
      ?
      import?org.apache.hadoop.conf.Configuration;
      public?class?kmeans1
      {
      static?double?[][]?cluster={{1,1},{2,2},{3,3}};
      static?double?[][]?point?=new?double[2000][2];
      static?int?[]kind=new?int[2000];
      static?int?count=0;
      static?int?[]Count=new?int[3];
      public?static?void?readfile()?throws?IOException
      {
      BufferedReader?in?=?new?BufferedReader(new?InputStreamReader(new?FileInputStream("/usr/local/hadoop/data.txt"),"GBK"));
      String?str?=?null;
      while?((str?=?in.readLine())?!=?null)?{
      ?????//System.out.println(str);
      ????????//寫入相關文件
      ????????//out.write(str);
      ????????//out.newLine();
      ??double?point_x=Double.valueOf(str.split(",")[0]);
      ????double?point_y=Double.valueOf(str.split(",")[1]);
      ????point[count][0]=point_x;
      ????point[count][1]=point_y;
      ????if(count<3)
      ????{
      ????cluster[count][0]=point_x;
      ????cluster[count][1]=point_y;
      ????}
      ????count++;
      ????}
      ????//清楚緩存
      ????//out.flush();
      ????//關閉流
      ????in.close();
      ????//out.close();
      }
      public?static?void?iter()
      {
      for(int?i=0;i<20;i++)
      {
      for(int?j=0;j<2000;j++)
      {
      double?distance=1000000000.0;
      for(int?k=0;k<3;k++)
      {
      double?temp=Math.pow(point[j][0]-cluster[k][0],?2)+Math.pow(point[j][1]-cluster[k][1],?2);
      if(temp

      以上就是小編今天的分享了,希望可以幫助到大家。

      文檔

      java kmeans

      k-means是一種迭代求解的聚類分析算法,其步驟是,預將數據分為K組,則隨機選取K個對象作為初始的聚類中心,然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。
      推薦度:
      為你推薦
      資訊專欄
      熱門視頻
      相關推薦
      java kudu java lamada java leveldb java linklist java linq java list.add java list.contains java locale java localtime java logging java logstash java main java malloc java mapping java math.ceil java matlab java matrix java memcpy java merge java method java keystore java kafka java jxl java jvm java jtextfield java jtable java jta java jstat java jstack java jsonp java jsonfield java jquery java jps java joptionpane java jndi java jmh java jmeter java jit java jetty java jep
      Top 少妇高潮太爽了在线视频