spark调用python算法_利用Spark-mllab进行聚类,分类,回归分析的代码实现(python)

本文展示了如何使用Spark的Mllib库通过Python调用KMeans进行聚类分析,以及利用LinearRegressionWithSGD进行线性回归。详细解释了数据预处理、模型训练和预测过程,并探讨了稀疏向量和向量标签的概念。
摘要由CSDN通过智能技术生成

Spark作为一种开源集群计算环境,具有分布式的快速数据处理能力。而Spark中的Mllib定义了各种各样用于机器学习的数据结构以及算法。Python具有Spark的API。需要注意的是,Spark中,所有数据的处理都是基于RDD的。

首先举一个聚类方面的详细应用例子Kmeans:

下面代码是一些基本步骤,包括外部数据,RDD预处理,训练模型,预测。

#coding:utf-8

from numpy import array

from math import sqrt

from pyspark import SparkContext

from pyspark.mllib.clustering import KMeans, KMeansModel

if __name__ == "__main__":

sc = SparkContext(appName="KMeansExample",master='local') # SparkContext

# 读取并处理数据

data = sc.textFile("./kmeans_data.txt")

print data.collect()

parsedData = data.map(lambda line: array([float(x) for x in line.split(' ')]))

# 训练数据

print parsedData.collect()

clusters = KMeans.train(parsedData, k=2, maxIterations=10,

runs=10, initializationMode="random")

#求方差之和

def error(point):

center = clusters.centers[clusters.predict(point)]

return sqrt(sum([x**2 for x in (point - center)]))

WSSSE = parsedData.map(lambda point: error(point)).reduce(lambda x, y: x + y)

print("Within Set Sum of Squared Error = " + str(WSSSE))

#聚类结果

def sort(point):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值