掌握Spark机器学习库-07.6-线性回归实现房价预测
数据集
house.csv
数据概览

代码
package org.apache.spark.examples.examplesforml import org.apache.spark.ml.feature.VectorAssembler
import org.apache.spark.ml.regression.LinearRegression
import org.apache.spark.sql.SparkSession
import org.apache.spark.{SparkConf, SparkContext} import scala.util.Random
/*
日期:2018.10.15
描述:
7-6
线性回归算法
预测房价
数据集:house.csv
*/
object Linear {
def main(args:Array[String]): Unit ={
val conf=new SparkConf().setMaster("local[*]").setAppName("LinearregRession")
val sc=new SparkContext(conf)
val spark=SparkSession.builder().config(conf).getOrCreate()
val file=spark.read.format("csv")
.option("header","true")//y
.option("sep",";")//分隔符
.load("D:\\机器学习算法准备\\7-6线性回归-预测房价\\house.csv")
import spark.implicits._
val random =new Random()
val data=file.select("square","price")
.map(row => (row.getAs[String](0).toDouble,row.getAs[String](1).toDouble,random.nextDouble()))
.toDF("square","price","rand")
.sort("rand")
data.show() val assembler=new VectorAssembler()
.setInputCols(Array("square"))
.setOutputCol("features")
val dataset=assembler.transform(data)
var Array(train,test)=dataset.randomSplit(Array(0.8,0.2),1234L)
train.show()
println(test.count()) var regression=new LinearRegression().setMaxIter(10).setRegParam(0.3).setElasticNetParam(0.8)
val model=regression.setLabelCol("price").setFeaturesCol("features").fit(train)
model.transform(test).show() val s = model.summary.totalIterations
println(s"iter: ${s}") }
}
输出:

掌握Spark机器学习库-07.6-线性回归实现房价预测的更多相关文章
- 掌握Spark机器学习库-07.14-保序回归算法实现房价预测
数据集 house.csv 数据集概览 代码 package org.apache.spark.examples.examplesforml import org.apache.spark.ml.cl ...
- 掌握Spark机器学习库(课程目录)
第1章 初识机器学习 在本章中将带领大家概要了解什么是机器学习.机器学习在当前有哪些典型应用.机器学习的核心思想.常用的框架有哪些,该如何进行选型等相关问题. 1-1 导学 1-2 机器学习概述 1- ...
- 02-11 RANSAC算法线性回归(波斯顿房价预测)
目录 RANSAC算法线性回归(波斯顿房价预测) 一.RANSAC算法流程 二.导入模块 三.获取数据 四.训练模型 五.可视化 更新.更全的<机器学习>的更新网站,更有python.go ...
- Spark机器学习库(MLlib)官方指南手册中文版
中文https://blog.csdn.net/liulingyuan6/article/details/53582300 https://yq.aliyun.com/articles/608083 ...
- 掌握Spark机器学习库-07-回归算法原理
1)机器学习模型理解 统计学习,神经网络 2)预测结果的衡量 代价函数(cost function).损失函数(loss function) 3)线性回归是监督学习
- 掌握Spark机器学习库-09.6-LDA算法
数据集 iris.data 数据集概览 代码 package org.apache.spark.examples.examplesforml import org.apache.spark.ml.cl ...
- 掌握Spark机器学习库-09.3-kmeans算法实现分类
数据集 iris.data 数据集概览 代码 package org.apache.spark.examples.hust.hml.examplesforml import org.apache.s ...
- 掌握Spark机器学习库-08.7-决策树算法实现分类
数据集 iris.data 数据集概览 代码 package org.apache.spark.examples.examplesforml import org.apache.spark.Spark ...
- 掌握Spark机器学习库-08.2-朴素贝叶斯算法
数据集 iris.data 数据集概览 代码 import org.apache.spark.SparkConf import org.apache.spark.ml.classification.{ ...
随机推荐
- bzoj5333: [Sdoi2018]荣誉称号
请不要去改题目给的输入,不然你会wa穿... 这么故弄玄虚的题目,肯定要先转换问题 看到这个不断的除2想起别人家的线段树的写法...x的两个孩子是x<<1和x<<1|1 然后问 ...
- python 列表,元祖,字典
一 列表 1 列表的循环遍历 namesList = ['xiaoWang','xiaoZhang','xiaoHua'] for name in namesList: print(name) 结果 ...
- BZOJ_1532_[POI2005]Kos-Dicing_二分+网络流
BZOJ_1532_[POI2005]Kos-Dicing_二分+网络流 Description Dicing 是一个两人玩的游戏,这个游戏在Byteotia非常流行. 甚至人们专门成立了这个游戏的一 ...
- Spring事物注意事项
一.尽量用注解声明事务 过去开发喜欢用tx:advice+aop命名空间方式来配置事务,一次配置对满足切点规则的方法永久生效.但也可能因此导致事务滥用,在不需要用到事务的地方用了会影响系统的并发性能. ...
- 一个tomcat部署多个应用实例总结
项目组有好几个项目需要运行,之前项目少,一个tomcat对应一个项目还能应付,但现在项目多了,要是再一个tomcat对应一个项目的话,一方面看起来很业余,一方面也加大服务器的维护难度.所以现在需要对t ...
- 《MIDINET: A CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORK FOR SYMBOLIC-DOMAIN MUSIC GENERATION》论文阅读笔记
出处 arXiv.org (引用量暂时只有3,too new)2017.7 SourceCode:https://github.com/RichardYang40148/MidiNet Abstrac ...
- SQL Server 日期转换成字符串
参考网址:http://wenku.baidu.com/view/970c6c1655270722192ef70e.html 下面是常用的几个 --返回06-27-13 ), ) --2013-06- ...
- Linux 系统管理命令 - vmstat - 虚拟内存统计
命令详解 重要星级: ★★★★☆ 功能说明: vmstat 是 Virtual Memory Statistics ( 虚拟内存统计 ) 的缩写,利用 vmstat 命令可以对操作系统的内存信息.进程 ...
- 洛谷 P4552 [Poetize6] IncDec Sequence【差分+脑洞】
一看区间操作,很容易想到差分 所以就是先差分,然后为了保证最小步数,把政府差分抵消,也就相当于原数组区间加减 第二问,因为差分数组抵消之后不为0就需要使用n+1的虚拟位置,而这个的值其实没有,所以我们 ...
- 【牛客-14602】xinjun与阴阳师(01背包)
xinjun与阴阳师 题目描述 xinjun是各类手游的狂热粉丝,因随手一氪.一氪上千而威震工大,现在他迷上了阴阳师.xinjun玩手游有一个习惯,就是经过层层计算制定出一套方案来使操作利益最大化(因 ...