Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.apache.spark.api.java.*;
- import org.apache.spark.api.java.function.Function;
- import org.apache.spark.mllib.clustering.KMeans;
- import org.apache.spark.mllib.clustering.KMeansModel;
- import org.apache.spark.mllib.linalg.Vector;
- import org.apache.spark.mllib.linalg.Vectors;
- import org.apache.spark.SparkConf;
- public class Kmeans {
- public static void main(String[] args) {
- SparkConf conf = new SparkConf().setAppName("K-means Example");
- JavaSparkContext sc = new JavaSparkContext(conf);
- // Load and parse data
- String path = "data/mllib/kmeans_data.txt";
- JavaRDD<String> data = sc.textFile(path);
- JavaRDD<Vector> parsedData = data.map(
- new Function<String, Vector>() {
- public Vector call(String s) {
- String[] sarray = s.split(" ");
- double[] values = new double[sarray.length];
- for (int i = 0; i < sarray.length; i++)
- values[i] = Double.parseDouble(sarray[i]);
- return Vectors.dense(values);
- }
- }
- );
- // Cluster the data into two classes using KMeans
- int numClusters = 2;
- int numIterations = 20;
- KMeansModel clusters = KMeans.train(parsedData.rdd(), numClusters, numIterations);
- // Evaluate clustering by computing Within Set Sum of Squared Errors
- double WSSSE = clusters.computeCost(parsedData.rdd());
- System.out.println("Within Set Sum of Squared Errors = " + WSSSE);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment