当前位置: 首页 > news >正文

长沙网站大全杭州网站优化公司

长沙网站大全,杭州网站优化公司,珠海网站建设贵公司,江苏省城乡与建设厅网站决策树进行鸢尾花分类的案例 背景说明: 通过IDEA Spark 3.4.1 sbt 1.9.3 Spark MLlib 构建鸢尾花决策树分类预测模型,这是一个分类模型案例,通过该案例,可以快速了解Spark MLlib分类预测模型的使用方法。 依赖 ThisBuild /…

决策树进行鸢尾花分类的案例

背景说明:

通过IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 构建鸢尾花决策树分类预测模型,这是一个分类模型案例,通过该案例,可以快速了解Spark MLlib分类预测模型的使用方法。

依赖

ThisBuild / version := "0.1.0-SNAPSHOT"  ThisBuild / scalaVersion := "2.13.11"  lazy val root = (project in file("."))  .settings(  name := "SparkLearning",  idePackagePrefix := Some("cn.lh.spark"),  libraryDependencies += "org.apache.spark" %% "spark-sql" % "3.4.1",  libraryDependencies += "org.apache.spark" %% "spark-core" % "3.4.1",  libraryDependencies += "org.apache.hadoop" % "hadoop-auth" % "3.3.6",     libraryDependencies += "org.apache.spark" %% "spark-streaming" % "3.4.1",  libraryDependencies += "org.apache.spark" %% "spark-streaming-kafka-0-10" % "3.4.1",  libraryDependencies += "org.apache.spark" %% "spark-mllib" % "3.4.1",  libraryDependencies += "mysql" % "mysql-connector-java" % "8.0.30"  
)

完整代码

package cn.lh.spark  import org.apache.spark.ml.{Pipeline, PipelineModel}  
import org.apache.spark.ml.classification.{DecisionTreeClassificationModel, DecisionTreeClassifier}  
import org.apache.spark.ml.evaluation.MulticlassClassificationEvaluator  
import org.apache.spark.ml.feature.{IndexToString, StringIndexer, StringIndexerModel, VectorIndexer, VectorIndexerModel}  
import org.apache.spark.ml.linalg.Vectors  
import org.apache.spark.rdd.RDD  
import org.apache.spark.sql.{DataFrame, SparkSession}  /**  * 决策树分类器,实现鸢尾花分类  */  //case class Iris(features: org.apache.spark.ml.linalg.Vector, label: String)  // MLlibLogisticRegression 中存在该样例类,这里不用写,一个包里不存在这个样例类时需要写object MLlibDecisionTreeClassifier {  def main(args: Array[String]): Unit = {  val spark: SparkSession = SparkSession.builder().master("local[2]")  .appName("Spark MLlib DecisionTreeClassifier").getOrCreate()  val irisRDD: RDD[Iris] = spark.sparkContext.textFile("F:\\niit\\2023\\2023_2\\Spark\\codes\\data\\iris.txt")  .map(_.split(",")).map(p =>  Iris(Vectors.dense(p(0).toDouble, p(1).toDouble, p(2).toDouble, p(3).toDouble), p(4).toString()))  import spark.implicits._  val data: DataFrame = irisRDD.toDF()  data.show()  data.createOrReplaceTempView("iris")  val df: DataFrame = spark.sql("select * from iris")  println("鸢尾花原始数据如下:")  df.map(t => t(1)+":"+t(0)).collect().foreach(println)  //    处理特征和标签,以及数据分组  val labelIndexer: StringIndexerModel = new StringIndexer().setInputCol("label").setOutputCol(  "indexedLabel").fit(df)  val featureIndexer: VectorIndexerModel = new VectorIndexer().setInputCol("features")  .setOutputCol("indexedFeatures").setMaxCategories(4).fit(df)  //这里我们设置一个labelConverter,目的是把预测的类别重新转化成字符型的  val labelConverter: IndexToString = new IndexToString().setInputCol("prediction")  .setOutputCol("predictedLabel").setLabels(labelIndexer.labels)  //接下来,我们把数据集随机分成训练集和测试集,其中训练集占70%。  val Array(trainingData, testData) = data.randomSplit(Array(0.7, 0.3))  val dtClassifier: DecisionTreeClassifier = new DecisionTreeClassifier()  .setLabelCol("indexedLabel").setFeaturesCol("indexedFeatures")  //在pipeline中进行设置  val pipelinedClassifier: Pipeline = new Pipeline()  .setStages(Array(labelIndexer, featureIndexer, dtClassifier, labelConverter))  //训练决策树模型  val modelClassifier: PipelineModel = pipelinedClassifier.fit(trainingData)  //进行预测  val predictionsClassifier: DataFrame = modelClassifier.transform(testData)  predictionsClassifier.select("predictedLabel", "label", "features").show(5)  //    评估决策树分类模型  val evaluatorClassifier: MulticlassClassificationEvaluator = new MulticlassClassificationEvaluator()  .setLabelCol("indexedLabel")  .setPredictionCol("prediction").setMetricName("accuracy")  val accuracy: Double = evaluatorClassifier.evaluate(predictionsClassifier)  println("Test Error = " + (1.0 - accuracy))  val treeModelClassifier: DecisionTreeClassificationModel = modelClassifier.stages(2)  .asInstanceOf[DecisionTreeClassificationModel]  println("Learned classification tree model:\n" + treeModelClassifier.toDebugString)  spark.stop()  }  }

![[Pasted image 20230807184336.png]]

http://www.dt0577.cn/news/47760.html

相关文章:

  • 精仿腾讯3366小游戏门户网站源码织梦最新内核带全部数据!浏览器网站大全
  • 网站建设 首选百川互动电商seo什么意思
  • 服务器搭建网站用什么系统网站设计模板网站
  • ico项目网站建设建立一个网站的费用
  • 做网站要用到什么软件平台推广营销
  • 找钟点工做的网站如何开网站详细步骤
  • 哈尔滨做网站多少钱最近一周新闻大事摘抄2022年
  • 网站上的节日主题怎么做百度网络科技有限公司
  • 自己做网站外包seo排名是什么意思
  • 企业网站的管理系统百度竞价排名名词解释
  • 网站开发设计资讯北京网站营销seo方案
  • 一品威客下载seo在线论坛
  • 国内外政府门户网站建设特点百度指数的需求指数
  • 重庆模板网站建设怎么样抖音优化
  • iis 新建网站 要登录武汉seo全网营销
  • 湘西做网站关键词优化方法有什么步骤
  • 黄石做网站要多少钱中国去中心化搜索引擎
  • 电商网站的在线客服怎么做百度一下官网首页网址
  • wordpress添加百度地图吗百度seo排名优化技巧分享
  • 免费自助建站源码网络营销系统
  • 引流网站怎么做镇江网站建设制作公司
  • 做网站商上海谷歌seo推广公司
  • 手机网站建设流程google在线代理
  • 外贸网站外链软文广告是什么意思
  • 上海网站建设公司价格google seo怎么优化
  • 动态网站转静态销售渠道都有哪些
  • pc建站 手机网站企业网站有哪些类型
  • 网站建设策划执行高端企业网站建设
  • 网站二级页面做哪些东西网络舆情优化公司
  • 做体力活的网站免费网站收录入口