赞
踩
因为自身原因最近再学习spark MLlib,看的教材是《spark机器学习》,感觉这本书偏入门并且有很多实操,非常适合新手。下面就是我在学习到第五章关于分类算法的一些要点,最要是通过代码实操,具体算法原理就不介绍。
sed 1d train.tsv >train_noheader.tsv
使用IDEA新建一个scala class,键入如下代码:
//导入各种类
import org.apache.spark.mllib.classification.LogisticRegressionWithSGD
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.{SparkContext, SparkConf}
/**
* Created by luo on 12/12/15.
*/
object ML_Classification {
def main(args:Array[String]){
//代码初始化的一些步骤
val conf=new SparkConf().setAppName("classification").setMaster("local[2]")
val sc=new SparkContext(conf)
val rawData=sc.textFile("/home/luo/sparkLearning/MLData/train_noheader.tsv")
val records=rawData.map(_.split("\t"))//数据是以\t分割
val data=records.map{point=>
//将数据中的引号全部替换为空
val replaceData=point.map(_.replaceAll("\"",""))
//本数据的头四个字段不会用到,数据的一个字段代表分类的结果,1为长久,0为短暂
val label=replaceData(replaceData.size-1).toInt
val features=replaceData.slice(4,replaceData.size-1).map(x=>if(x=="?") 0.0 else x.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。