【云计算与大数据技术】Spark实战项目之判别西瓜好坏(附源码和数据集)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【云计算与大数据技术】Spark实战项目之判别西瓜好坏(附源码和数据集)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~

一、判别西瓜好坏

西瓜是一种人们很喜欢的水果,是盛夏季节的一种解暑物品,西瓜可以粗略的分为好瓜和坏瓜,我们都希望购买到的西瓜是好的,这里给出判断西瓜好坏的两个特征,一个特 征是西瓜的糖度,另外一个特征是西瓜的密度,这两个数值都是0~1的小数,基于西瓜的测试数据来判断西瓜的好坏

Spark中提供了MLib机器学习库,使用MLib机器学习库中提供的例子,采用GBT模型,训练参数,最后利用训练集测试GBT模型的好坏,判断西瓜的准确度。

运行结果如下

项目结构如下

部分代码如下

import org.apache.spark.mllib.tree.GradientBoostedTrees
import org.apache.spark.mllib.tree.configuration.BoostingStrategy
import org.apache.spark.mllib.tree.model.GradientBoostedTreesModel
import org.apache.spark.mllib.util.MLUtils
import org.apache.spark.{SparkConf, SparkContext}
object SparkGBT {
  def main (args: Array[String]) {
    if (args.length < 0) {
      println("Usage:FilePath")
      sys.exit(1)
    }
    //Initialization
    val conf = new SparkConf().setAppName("Spark MLlib Exercise: GradientBoostedTree")
    val sc = new SparkContext(conf)
    // Load and parse the data file.
    val data = MLUtils.loadLibSVMFile(sc, "/home/liujun/workplace/scala_GBT/GBT_data.txt")
    // Split the data into training and test sets (30% held out for testing)
    val splits = data.randomSplit(Array(0.7, 0.3))
    val (trainingData, testData) = (splits(0), splits(1))
    // Train a GradientBoostedTrees model.
    // The defaultParams for Classification use LogLoss by default.
    val boostingStrategy = BoostingStrategy.defaultParams("Classification")
    boostingStrategy.numIterations = 10 // Note: Use more iterations in practice.
    boostingStrategy.treeStrategy.numClasses = 2
    boostingStrategy.treeStrategy.maxDepth = 3
    // Empty categoricalFeaturesInfo indicates all features are continuous.
    boostingStrategy.treeStrategy.categoricalFeaturesInfo = Map[Int, Int]()
(r => r._1 != r._2).count.toDouble / testData.count()
    println("Test Error = " + testErr)
    println("Learned classification GBT model:\n" + model.toDebugString)
    labelAndPreds.collect().foreach(x =>
      println("Lable and Prediction: " + x._1.toString + " " + x._2.toString))
    trainingData.saveAsTextFile("/home/liujun/workplace/scala_GBT/trainingData")
    testData.saveAsTextFile("/home/liujun/workplace/scala_GBT/testData")
  }
}

二、Spark发展趋势

Spark诞生于伯克利AMP实验室,起初是一个研究性质的项目,目标是为迭代式机器学习提供帮助,随着Spark的开源,因为其采用内存存储,计算速度比MapReduce更快,而且Spark简单 易用 受到了众多人的关注和喜爱

目前 ApacheSpark社区非常活 跃,并且以 SparkRDD 为核心,逐步形成了 Spark的生态圈,包括SparkSQL、Spark Streaming、Spark MLib等众多上层数据分析工具以及实时处理框架

不断有新的Spark生态圈中的框架出现,包括alluxio分布式内存文件系统 、SparkR统计框架

创作不易 觉得有帮助请点赞关注收藏~~~

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
5月前
|
人工智能 分布式计算 大数据
大数据≠大样本:基于Spark的特征降维实战(提升10倍训练效率)
本文探讨了大数据场景下降维的核心问题与解决方案,重点分析了“维度灾难”对模型性能的影响及特征冗余的陷阱。通过数学证明与实际案例,揭示高维空间中样本稀疏性问题,并提出基于Spark的分布式降维技术选型与优化策略。文章详细展示了PCA在亿级用户画像中的应用,包括数据准备、核心实现与效果评估,同时深入探讨了协方差矩阵计算与特征值分解的并行优化方法。此外,还介绍了动态维度调整、非线性特征处理及降维与其他AI技术的协同效应,为生产环境提供了最佳实践指南。最终总结出降维的本质与工程实践原则,展望未来发展方向。
272 0
|
8月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
360 79
|
8月前
|
存储 弹性计算 分布式计算
云端智链:挖掘云计算中的大数据潜能
云端智链:挖掘云计算中的大数据潜能
167 21
|
8月前
|
安全 大数据 虚拟化
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显。作为Windows Server的核心组件,Hyper-V具备卓越的技术性能,支持高可用性、动态迁移等功能,确保虚拟机稳定高效运行。它与Windows深度集成,管理便捷,支持远程管理和自动化部署,降低管理成本。内置防火墙、RBAC等安全功能,提供全方位安全保障。作为内置组件,Hyper-V无需额外购买软件,降低成本。其广泛的生态系统支持和持续增长的市场需求,使其成为企业虚拟化解决方案的首选。
|
9月前
|
人工智能 大数据
阿里云云计算ACA、大数据ACA、人工智能ACA三门认证升级调整公告
阿里云云计算ACA、大数据ACA、人工智能ACA三门认证升级调整公告
|
9月前
|
存储 分布式计算 大数据
大数据与云计算:无缝结合,开启数据新纪元
大数据与云计算:无缝结合,开启数据新纪元
653 11
|
8月前
|
存储 监控 数据可视化
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。
178 0
|
12月前
|
机器学习/深度学习 存储 大数据
云计算与大数据技术的融合应用
云计算与大数据技术的融合应用
|
12月前
|
存储 弹性计算 分布式计算
云计算在大数据处理中的优势与挑战
云计算在大数据处理中的优势与挑战
|
存储 人工智能 大数据
物联网、大数据、云计算、人工智能之间的关系
物联网、大数据、云计算、人工智能之间的关系是紧密相连、相互促进的。这四者既有各自独立的技术特征,又能在不同层面上相互融合,共同推动信息技术的发展和应用。
3276 0

热门文章

最新文章