数据集

house.csv

数据集概览

代码

package org.apache.spark.examples.examplesforml

import org.apache.spark.ml.classification.LogisticRegression
import org.apache.spark.ml.feature.VectorAssembler
import org.apache.spark.ml.regression.{IsotonicRegression, LinearRegression}
import org.apache.spark.sql.SparkSession
import org.apache.spark.{SparkConf, SparkContext} import scala.util.Random
/*
日期:2018.10.15
描述:
7-14
保序回归算法
实现房价预测
数据集:
house.csv
*/
object IstonicRegression {
def main(args: Array[String]): Unit = {
val conf = new SparkConf()
.setAppName("linear")
.setMaster("local")
val sc = new SparkContext(conf)
val spark = SparkSession
.builder()
.config(conf)
.getOrCreate() val file = spark.read
.format("csv")
.option("sep",";")
.option("header","true")
.load("D:\\7-6线性回归-预测房价\\house.csv")
import spark.implicits._
//打乱顺序
val rand = new Random()
val data = file.select("square","price")
.map(
row => (row.getAs[String](0).toDouble,row.getString(1).toDouble,rand.nextDouble()))
.toDF("square","price","rand").sort("rand") //强制类型转换过程 val ass = new VectorAssembler()
.setInputCols(Array("square"))
.setOutputCol("features")
val dataset = ass.transform(data)//特征包装
val Array(train,test) = dataset.randomSplit(Array(0.8,0.2))//拆分成训练数据集和测试数据集 val isotonic = new IsotonicRegression()
.setFeaturesCol("features")
.setLabelCol("price")
val model = isotonic.fit(train)
model.transform(test).show()
}
}

输出结果

掌握Spark机器学习库-07.14-保序回归算法实现房价预测的更多相关文章

  1. Spark机器学习(3):保序回归算法

    保序回归即给定了一个无序的数字序列,通过修改其中元素的值,得到一个非递减的数字序列,要求是使得误差(预测值和实际值差的平方)最小.比如在动物身上实验某种药物,使用了不同的剂量,按理说剂量越大,有效的比 ...

  2. Spark Mllib里如何采用保序回归做回归分析(图文详解)

    不多说,直接上干货! 相比于决策树,保序回归的应用范围没有决策树算法那么广泛. 特别在数据处理较为庞大的时候,采用保序回归做回归分析,可以极大地节省资源,从而提高计算效率. 保序回归的思想,是对数据进 ...

  3. 掌握Spark机器学习库-07.6-线性回归实现房价预测

    数据集 house.csv 数据概览 代码 package org.apache.spark.examples.examplesforml import org.apache.spark.ml.fea ...

  4. 掌握Spark机器学习库-08.2-朴素贝叶斯算法

    数据集 iris.data 数据集概览 代码 import org.apache.spark.SparkConf import org.apache.spark.ml.classification.{ ...

  5. 掌握Spark机器学习库(课程目录)

    第1章 初识机器学习 在本章中将带领大家概要了解什么是机器学习.机器学习在当前有哪些典型应用.机器学习的核心思想.常用的框架有哪些,该如何进行选型等相关问题. 1-1 导学 1-2 机器学习概述 1- ...

  6. 【Spark机器学习速成宝典】模型篇08保序回归【Isotonic Regression】(Python版)

    目录 保序回归原理 保序回归代码(Spark Python) 保序回归原理 待续... 返回目录 保序回归代码(Spark Python) 代码里数据:https://pan.baidu.com/s/ ...

  7. 机器学习:保序回归(IsotonicRegression):一种可以使资源利用率最大化的算法

    1.数学定义 保序回归是回归算法的一种,基本思想是:给定一个有限的实数集合,训练一个模型来最小化下列方程: 并且满足下列约束条件: 2.算法过程说明 从该序列的首元素往后观察,一旦出现乱序现象停止该轮 ...

  8. 103 保序回归 isotonic regression

    103 保序回归 isotonic regression 2016-03-30 11:25:27 bea_tree 阅读数 6895   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...

  9. scikit-learn: isotonic regression(保序回归,非常有意思,仅做知识点了解,但差点儿没用到过)

    http://scikit-learn.org/stable/auto_examples/plot_isotonic_regression.html#example-plot-isotonic-reg ...

随机推荐

  1. python 2.*和3.*的变化

    1.urllib2是python自带的模块,在python3.x中被改为urllib.request,如 <span style="font-size:12px;">u ...

  2. android中init.rc文件的解析问题

    init.rc中文件里会通过import /init.${ro.hardware}.rc文件,这个ro.hardware应该是某个详细的属性.而这个ro.hardware赋值应该是在Init进程中赋值 ...

  3. 2016/3/13 MySQL 增删查改 CRUD 用代码实现

    用代码实现数据库数据输入 T-SQL语句 查询语句分几块 ①创建表 create table Car (Code varchar(50) primary key, #primary key 主键 定义 ...

  4. eclispe pydev tab改回 空格找到方法了,这个链接:http://stackoverflow.com/questions/23570925/eclipse-indents-new-line-with-tabs-instead-of-spaces

    看这个链接: 3down votefavorite 1 I've followed all the suggestions here. When I press return, I get a new ...

  5. qemu -net tap配置上网

    1 该选项的用途 让qemu所在的宿主机器的tap网络接口和qemu的vlan n连接起来,从而进一步配置宿主机后,可以让qemu里面的操作系统可以通过vlan n里面的网卡上网. 2 真个系统的架构 ...

  6. POJ - 3352 Road Construction(边双连通分支)

    1.给定一个连通的无向图G,至少要添加几条边,才能使其变为双连通图. 2.POJ - 3177 Redundant Paths(边双连通分支)(模板)  与这道题一模一样.代码就改了下范围,其他都没动 ...

  7. Masonry基本用法

    使用步骤: 1.导入框架 2.导入头文件,或者直接导入.pch文件中 //省略前缀 'max_'的宏: #define MAS_SHORTHAND // 自动装箱:自动把基本数据类型转化成对象,int ...

  8. I.MX6 RGB clock 和 data 重合

    /*********************************************************************** * I.MX6 RGB clock 和 data 重合 ...

  9. python的md5和base64加密

    在用jmeter测试接口时,有的请求参数会加密,例如,回流接口:http://ip:port/oms-gateway-datareflow-mq/orderReflow/tmsPracticeActi ...

  10. 【position】

    background-position 定位的position的区别 background-position 相对的位置是(容器的宽度-子元素的宽度) 当子元素的宽度大于容器的宽度 backgroun ...