数据集

house.csv

数据概览

代码

  1. package org.apache.spark.examples.examplesforml
  2.  
  3. import org.apache.spark.ml.feature.VectorAssembler
  4. import org.apache.spark.ml.regression.LinearRegression
  5. import org.apache.spark.sql.SparkSession
  6. import org.apache.spark.{SparkConf, SparkContext}
  7.  
  8. import scala.util.Random
  9. /*
  10. 日期:2018.10.15
  11. 描述:
  12. 7-6
  13. 线性回归算法
  14. 预测房价
  15. 数据集:house.csv
  16. */
  17. object Linear {
  18. def main(args:Array[String]): Unit ={
  19. val conf=new SparkConf().setMaster("local[*]").setAppName("LinearregRession")
  20. val sc=new SparkContext(conf)
  21. val spark=SparkSession.builder().config(conf).getOrCreate()
  22. val file=spark.read.format("csv")
  23. .option("header","true")//y
  24. .option("sep",";")//分隔符
  25. .load("D:\\机器学习算法准备\\7-6线性回归-预测房价\\house.csv")
  26. import spark.implicits._
  27. val random =new Random()
  28. val data=file.select("square","price")
  29. .map(row => (row.getAs[String](0).toDouble,row.getAs[String](1).toDouble,random.nextDouble()))
  30. .toDF("square","price","rand")
  31. .sort("rand")
  32. data.show()
  33.  
  34. val assembler=new VectorAssembler()
  35. .setInputCols(Array("square"))
  36. .setOutputCol("features")
  37. val dataset=assembler.transform(data)
  38. var Array(train,test)=dataset.randomSplit(Array(0.8,0.2),1234L)
  39. train.show()
  40. println(test.count())
  41.  
  42. var regression=new LinearRegression().setMaxIter(10).setRegParam(0.3).setElasticNetParam(0.8)
  43. val model=regression.setLabelCol("price").setFeaturesCol("features").fit(train)
  44. model.transform(test).show()
  45.  
  46. val s = model.summary.totalIterations
  47. println(s"iter: ${s}")
  48.  
  49. }
  50. }

输出:

掌握Spark机器学习库-07.6-线性回归实现房价预测的更多相关文章

  1. 掌握Spark机器学习库-07.14-保序回归算法实现房价预测

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

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

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

  3. 02-11 RANSAC算法线性回归(波斯顿房价预测)

    目录 RANSAC算法线性回归(波斯顿房价预测) 一.RANSAC算法流程 二.导入模块 三.获取数据 四.训练模型 五.可视化 更新.更全的<机器学习>的更新网站,更有python.go ...

  4. Spark机器学习库(MLlib)官方指南手册中文版

    中文https://blog.csdn.net/liulingyuan6/article/details/53582300 https://yq.aliyun.com/articles/608083 ...

  5. 掌握Spark机器学习库-07-回归算法原理

    1)机器学习模型理解 统计学习,神经网络 2)预测结果的衡量 代价函数(cost function).损失函数(loss function) 3)线性回归是监督学习

  6. 掌握Spark机器学习库-09.6-LDA算法

    数据集 iris.data 数据集概览 代码 package org.apache.spark.examples.examplesforml import org.apache.spark.ml.cl ...

  7. 掌握Spark机器学习库-09.3-kmeans算法实现分类

     数据集 iris.data 数据集概览 代码 package org.apache.spark.examples.hust.hml.examplesforml import org.apache.s ...

  8. 掌握Spark机器学习库-08.7-决策树算法实现分类

    数据集 iris.data 数据集概览 代码 package org.apache.spark.examples.examplesforml import org.apache.spark.Spark ...

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

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

随机推荐

  1. linux document and directory find

    http://suchalin.blog.163.com/blog/static/55304677201062924959497/ Linux 查看文件夹大小及文件数量命令 2010-07-29 14 ...

  2. make运行阶段划分

    1 make执行分为两个阶段 第一个阶段:读makefile并且建树阶段 第二个阶段:构建目标阶段 2 扩展的立即和推迟 在第一个阶段的扩展是立即,在第二个阶段或者在需要的时候再扩展是推迟,这里的需要 ...

  3. (ros/moveit)cob_simulation報錯

    cob_simulation報錯 依照官網說明 http://wiki.ros.org/cob_bringup_sim 1. git clone https://github.com/ipa320/c ...

  4. Mac Launchpad图标调整

    Launchpad图标大小怎么调整?,很多人觉得默认Launchpad的应用程序图标很大,空间比较拥挤,看起来一点也不精致,那么我们怎样才能调整Launchpad的图标大小呢?其实可以通过调整Laun ...

  5. linux下修改apache,nginx服务端口号

    一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找 ...

  6. http_load常见问题及解决方案

    1.错误信息:byte count wrong http_load在处理时会去关注每次访问同一个URL返回结果(即字节数)是否一致,若不一致就会抛出byte count wrong 所以动态页面可以忽 ...

  7. 【转】zip() 函数

    描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符 ...

  8. hdu 3669(斜率优化DP)

    Cross the Wall Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 327680/327680 K (Java/Others) ...

  9. XDCTF2015代码审计全解

    此次CTF WEB2是一个大题,一共4个flag,分别代表:获取源码.拿下前台管理.拿下后台.getshell. 目标站:http://xdsec-cms-12023458.xdctf.win/ 根据 ...

  10. Python机器学习算法 — 朴素贝叶斯算法(Naive Bayes)

    朴素贝叶斯算法 -- 简介 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法.最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Baye ...