孙其功陪你学之——Spark MLlib之K-Means聚类算法

看到 程序员的自我修养 – SelfUp.cn 里面有Spark MLlib之K-Means聚类算法。

但是是java 语言的,于是我按照例程用Scala写了一个,分享在此。

由于在学习 spark mllib 但是如此详细的资料真的很难找,在此分享。

测试数据

0.0 0.0 0.0

0.1 0.1 0.1

0.2 0.2 0.2

9.0 9.0 9.0

9.1 9.1 9.1

9.2 9.2 9.2

15.1 15.1 15.1

18.0 17.0 19.0

20.0 21.0 22.0

package com.spark.firstApp

import org.apache.spark.SparkContext

import org.apache.spark.SparkConf

import org.apache.spark.mllib.clustering.KMeans

import org.apache.spark.mllib.linalg.Vectors

object HelloSpark {

def main(args:Array[String]): Unit = {

val conf = new SparkConf().setAppName("SimpleSVM Application")

val sc = new SparkContext(conf)

val data = sc.textFile("hdfs://192.168.0.10:9000/user/root/home/data1.txt")

val parsedData = data.map(s => Vectors.dense(s.split(‘ ‘).map(_.toDouble))).cache()

// Cluster the data into two classes using KMeans

val numClusters = 2

val numIterations = 20

val clusters = KMeans.train(parsedData, numClusters, numIterations)

// Evaluate clustering by computing Within Set Sum of Squared Errors

val WSSSE = clusters.computeCost(parsedData)

println("Within Set Sum of Squared Errors = " + WSSSE)

println("Prediction of (1.1, 2.1, 3.1): " + clusters.predict(Vectors.dense(1.1, 2.1, 3.1)))

}

}

时间: 2024-10-10 20:33:25

孙其功陪你学之——Spark MLlib之K-Means聚类算法的相关文章

孙其功陪你学之——Spark 正则化和SparkSQL

本博文程序是读取hadoop的hdfs中的文件,使用正则化解析出规定格式的数据,然后加载到sparkSQL数据库中. 正则化如果不太了解,请看正则表达式30分钟入门教程 文件内容大致为: CREATE TABLE IF NOT EXISTS `rs_user` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `uid` mediumint(8) unsigned DEFAULT NULL, `url` varchar(255) DEFA

孙其功陪你学之——重装系统后配置原有的虚拟机

由于系统出现了问题,就一键还原到了刚刚购机时的系统状态,但是其他盘还保留了之前安装的虚拟机Vmware和虚拟机系统.安装好了之后,打开VMware后发现,提示让填写注册码,填写完了,怎么都不成功.准备重新安装,提示:failed to create the requested registry key key installer error 1021.这就是注册表有问题了,新装的系统里对于原来的软件的注册表不一样.那么就,在开始--运行--输入regedit,打开注册表 , 在注册表中找到HKE

孙其功陪你学之——unity3d进程暂停

在做unity3d工程的时候,有时候需要让进程暂停一段时间. 有人建议使用yield return new WaitForSeconds(value);用法如下: IEnumerator Wait(float value) //等待的时间,单位秒 { print(Time.time); yield return new WaitForSeconds(value); print(Time.time); } void Start() { StartCoroutine(Wait(1.0f)); } 但

孙其功陪你学之——ubuntu与windows文件共享

本人安装的是VM虚拟机,在虚拟机安装的是Ubuntu12.10版本.如果想ubuntu与windows文件共享,一般需要先配置虚拟机共享文件. 然后再终端输入:sudo mount -t vmhgfs .host:/ /mnt/hgfs 进入/mnt/hgfs/文件夹,就会看到共享的文件. 如果你不想每次都在终端输入命令,想直接开机之后就自动挂载,可以配置如下: 1.在终端输入命令:sudo gedit /etc/init.d/rc.local,打开rc.local文件,输入:sudo moun

孙其功陪你学——之Kinect开发之结合Unity3D进行游戏应用开发关节对应

Kinect开发之结合Unity3D进行游戏应用开发,使用http://blog.csdn.net/a350203223/article/details/22040119过程进行三维人物控制时,关节点较多,很难配置.楼主配置好了,把配置的过程和各个关节点的对应情况列出,方便感兴趣的人.

孙其功陪你学之——如何将shell命令的返回值赋值给应用程序的变量

如何将shell命令的返回值赋值给应用程序的变量. 博主最近做了个路由器的项目,需要得到路由器现在网络状态和参数,使用UCI get 获得, 但是使用了system("UCI get ****"),之后,获得的参数直接在终端打印输出了,应用程序中无法获得 返回的参数.以下是我的解决方案. #include <stdlib.h> #include <stdio.h> #include <string.h> char buf[512]; char* uc

基于Spark MLlib平台的协同过滤算法---电影推荐系统

基于Spark MLlib平台的协同过滤算法---电影推荐系统 又好一阵子没有写文章了,阿弥陀佛...最近项目中要做理财推荐,所以,回过头来回顾一下协同过滤算法在推荐系统中的应用. 说到推荐系统,大家可能立马会想到协同过滤算法.本文基于Spark MLlib平台实现一个向用户推荐电影的简单应用.其中,主要包括三部分内容: 协同过滤算法概述 基于模型的协同过滤应用---电影推荐 实时推荐架构分析     一.协同过滤算法概述 本人对算法的研究,目前还不是很深入,这里简单的介绍下其工作原理. 通常,

Spark MLlib中分类和回归算法

Spark MLlib中分类和回归算法: -分类算法: pyspark.mllib.classification -朴素贝叶斯 NaiveBayes -支持向量机(优化:随机梯度下降)SVMWithSGD -逻辑回归  LogisticRegressionWithSGD // 从Spark 2.0开始,官方推荐使用BFGS方式优化LR算法 LogisticRegressionWithBFGS // 针对流式数据实时模型训练算法 StreamingLogisticRegressionWithSGD

基于Spark的机器学习实践 (九) - 聚类算法

0 相关源码 1 k-平均算法(k-means clustering)概述 1.1 回顾无监督学习 ◆ 分类.回归都属于监督学习 ◆ 无监督学习是不需要用户去指定标签的 ◆ 而我们看到的分类.回归算法都需要用户输入的训练数据集中给定一个个明确的y值 1.2 k-平均算法与无监督学习 ◆ k-平均算法是无监督学习的一种 ◆ 它不需要人为指定一个因变量,即标签y ,而是由程序自己发现,给出类别y ◆ 除此之外,无监督算法还有PCA,GMM等 源于信号处理中的一种向量量化方法,现在则更多地作为一种聚类