楼主: Lisrelchen
1532 0

[Case Study]K-Means Clustering using Java [推广有奖]

  • 0关注
  • 62粉丝

VIP

已卖:4194份资源

院士

67%

还不是VIP/贵宾

-

TA的文库  其他...

Bayesian NewOccidental

Spatial Data Analysis

东西方数据挖掘

威望
0
论坛币
50288 个
通用积分
83.6906
学术水平
253 点
热心指数
300 点
信用等级
208 点
经验
41518 点
帖子
3256
精华
14
在线时间
766 小时
注册时间
2006-5-4
最后登录
2022-11-6

楼主
Lisrelchen 发表于 2015-11-16 02:11:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. package org.apache.spark.examples.ml;

  2. import java.util.regex.Pattern;

  3. import org.apache.spark.SparkConf;
  4. import org.apache.spark.api.java.JavaRDD;
  5. import org.apache.spark.api.java.JavaSparkContext;
  6. import org.apache.spark.api.java.function.Function;
  7. import org.apache.spark.ml.clustering.KMeansModel;
  8. import org.apache.spark.ml.clustering.KMeans;
  9. import org.apache.spark.mllib.linalg.Vector;
  10. import org.apache.spark.mllib.linalg.VectorUDT;
  11. import org.apache.spark.mllib.linalg.Vectors;
  12. import org.apache.spark.sql.DataFrame;
  13. import org.apache.spark.sql.Row;
  14. import org.apache.spark.sql.SQLContext;
  15. import org.apache.spark.sql.catalyst.expressions.GenericRow;
  16. import org.apache.spark.sql.types.Metadata;
  17. import org.apache.spark.sql.types.StructField;
  18. import org.apache.spark.sql.types.StructType;


  19. /**
  20. * An example demonstrating a k-means clustering.
  21. * Run with
  22. * <pre>
  23. * bin/run-example ml.JavaSimpleParamsExample <file> <k>
  24. * </pre>
  25. */
  26. public class JavaKMeansExample {

  27.   private static class ParsePoint implements Function<String, Row> {
  28.     private static final Pattern separator = Pattern.compile(" ");

  29.     @Override
  30.     public Row call(String line) {
  31.       String[] tok = separator.split(line);
  32.       double[] point = new double[tok.length];
  33.       for (int i = 0; i < tok.length; ++i) {
  34.         point[i] = Double.parseDouble(tok[i]);
  35.       }
  36.       Vector[] points = {Vectors.dense(point)};
  37.       return new GenericRow(points);
  38.     }
  39.   }

  40.   public static void main(String[] args) {
  41.     if (args.length != 2) {
  42.       System.err.println("Usage: ml.JavaKMeansExample <file> <k>");
  43.       System.exit(1);
  44.     }
  45.     String inputFile = args[0];
  46.     int k = Integer.parseInt(args[1]);

  47.     // Parses the arguments
  48.     SparkConf conf = new SparkConf().setAppName("JavaKMeansExample");
  49.     JavaSparkContext jsc = new JavaSparkContext(conf);
  50.     SQLContext sqlContext = new SQLContext(jsc);

  51.     // Loads data
  52.     JavaRDD<Row> points = jsc.textFile(inputFile).map(new ParsePoint());
  53.     StructField[] fields = {new StructField("features", new VectorUDT(), false, Metadata.empty())};
  54.     StructType schema = new StructType(fields);
  55.     DataFrame dataset = sqlContext.createDataFrame(points, schema);

  56.     // Trains a k-means model
  57.     KMeans kmeans = new KMeans()
  58.       .setK(k);
  59.     KMeansModel model = kmeans.fit(dataset);

  60.     // Shows the result
  61.     Vector[] centers = model.clusterCenters();
  62.     System.out.println("Cluster Centers: ");
  63.     for (Vector center: centers) {
  64.       System.out.println(center);
  65.     }

  66.     jsc.stop();
  67.   }
  68. }
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Clustering Case study k-means Cluster means package import Java

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-23 20:55