国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 構(gòu)建鳶尾花決策樹分類預(yù)測(cè)模型】

這篇具有很好參考價(jià)值的文章主要介紹了【IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 構(gòu)建鳶尾花決策樹分類預(yù)測(cè)模型】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

決策樹進(jìn)行鳶尾花分類的案例

背景說明:

通過IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 構(gòu)建鳶尾花決策樹分類預(yù)測(cè)模型,這是一個(gè)分類模型案例,通過該案例,可以快速了解Spark MLlib分類預(yù)測(cè)模型的使用方法。

依賴

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}  
  
  
/**  
 * 決策樹分類器,實(shí)現(xiàn)鳶尾花分類  
 */  
  
//case class Iris(features: org.apache.spark.ml.linalg.Vector, label: String)  // MLlibLogisticRegression 中存在該樣例類,這里不用寫,一個(gè)包里不存在這個(gè)樣例類時(shí)需要寫
  
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("鳶尾花原始數(shù)據(jù)如下:")  
    df.map(t => t(1)+":"+t(0)).collect().foreach(println)  
  
    //    處理特征和標(biāo)簽,以及數(shù)據(jù)分組  
    val labelIndexer: StringIndexerModel = new StringIndexer().setInputCol("label").setOutputCol(  
      "indexedLabel").fit(df)  
  
    val featureIndexer: VectorIndexerModel = new VectorIndexer().setInputCol("features")  
      .setOutputCol("indexedFeatures").setMaxCategories(4).fit(df)  
    //這里我們?cè)O(shè)置一個(gè)labelConverter,目的是把預(yù)測(cè)的類別重新轉(zhuǎn)化成字符型的  
    val labelConverter: IndexToString = new IndexToString().setInputCol("prediction")  
      .setOutputCol("predictedLabel").setLabels(labelIndexer.labels)  
  
    //接下來,我們把數(shù)據(jù)集隨機(jī)分成訓(xùn)練集和測(cè)試集,其中訓(xùn)練集占70%。  
    val Array(trainingData, testData) = data.randomSplit(Array(0.7, 0.3))  
  
    val dtClassifier: DecisionTreeClassifier = new DecisionTreeClassifier()  
      .setLabelCol("indexedLabel").setFeaturesCol("indexedFeatures")  
  
    //在pipeline中進(jìn)行設(shè)置  
    val pipelinedClassifier: Pipeline = new Pipeline()  
      .setStages(Array(labelIndexer, featureIndexer, dtClassifier, labelConverter))  
    //訓(xùn)練決策樹模型  
    val modelClassifier: PipelineModel = pipelinedClassifier.fit(trainingData)  
    //進(jìn)行預(yù)測(cè)  
    val predictionsClassifier: DataFrame = modelClassifier.transform(testData)  
    predictionsClassifier.select("predictedLabel", "label", "features").show(5)  
  
    //    評(píng)估決策樹分類模型  
    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()  
  }  
  
}

【IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 構(gòu)建鳶尾花決策樹分類預(yù)測(cè)模型】,intellij-idea,spark,spark-ml文章來源地址http://www.zghlxwxcb.cn/news/detail-634385.html

到了這里,關(guān)于【IDEA + Spark 3.4.1 + sbt 1.9.3 + Spark MLlib 構(gòu)建鳶尾花決策樹分類預(yù)測(cè)模型】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【機(jī)器學(xué)習(xí)】決策樹案例二:利用決策樹進(jìn)行鳶尾花數(shù)據(jù)集分類預(yù)測(cè)

    【機(jī)器學(xué)習(xí)】決策樹案例二:利用決策樹進(jìn)行鳶尾花數(shù)據(jù)集分類預(yù)測(cè)

    手動(dòng)反爬蟲,禁止轉(zhuǎn)載: 原博地址 https://blog.csdn.net/lys_828/article/details/122045161(CSDN博主:Be_melting) 在進(jìn)行邏輯回歸分類的過程中已經(jīng)有使用過iris數(shù)據(jù)集,這里直接加載數(shù)據(jù),并進(jìn)行字段名稱的修改。 輸出結(jié)果如下。 通過info()方法查看各個(gè)字段的基本詳情,輸出結(jié)果如下。

    2024年02月08日
    瀏覽(30)
  • PyTorch深度學(xué)習(xí)實(shí)戰(zhàn) | 基于線性回歸、決策樹和SVM進(jìn)行鳶尾花分類

    PyTorch深度學(xué)習(xí)實(shí)戰(zhàn) | 基于線性回歸、決策樹和SVM進(jìn)行鳶尾花分類

    鳶尾花數(shù)據(jù)集是機(jī)器學(xué)習(xí)領(lǐng)域非常經(jīng)典的一個(gè)分類任務(wù)數(shù)據(jù)集。它的英文名稱為Iris Data Set,使用sklearn庫可以直接下載并導(dǎo)入該數(shù)據(jù)集。數(shù)據(jù)集總共包含150行數(shù)據(jù),每一行數(shù)據(jù)由4個(gè)特征值及一個(gè)標(biāo)簽組成。標(biāo)簽為三種不同類別的鳶尾花,分別為:Iris Setosa,Iris Versicolour,Iri

    2023年04月10日
    瀏覽(30)
  • 機(jī)器學(xué)習(xí)---使用 TensorFlow 構(gòu)建神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)波士頓房?jī)r(jià)和鳶尾花數(shù)據(jù)集分類

    機(jī)器學(xué)習(xí)---使用 TensorFlow 構(gòu)建神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)波士頓房?jī)r(jià)和鳶尾花數(shù)據(jù)集分類

    1. 預(yù)測(cè)波士頓房?jī)r(jià) 1.1 導(dǎo)包 最后一行設(shè)置了TensorFlow日志的詳細(xì)程度: tf.logging.DEBUG :最詳細(xì)的日志級(jí)別,用于記錄調(diào)試信息。 tf.logging.INFO :用于記錄一般的信息性消息,比如訓(xùn)練過程中的指標(biāo)和進(jìn)度。 tf.logging.WARN :用于記錄警告消息,表示可能存在潛在問題,但不會(huì)導(dǎo)致

    2024年02月08日
    瀏覽(24)
  • 機(jī)器學(xué)習(xí)——鳶尾花數(shù)據(jù)集

    機(jī)器學(xué)習(xí)——鳶尾花數(shù)據(jù)集

    鳶尾花數(shù)據(jù)集即iris iris數(shù)據(jù)集文件: https://pan.baidu.com/s/1saL_4Q9PbFJluU4htAgFdQ .提取碼:1234 數(shù)據(jù)集包含150個(gè)樣本(數(shù)據(jù)集的行) 數(shù)據(jù)集包含4個(gè)屬性(數(shù)據(jù)集的列):Sepal Length,Sepal Width,Petal Length,Petal Width:‘feature_names’ 利用numpy.ndarray存儲(chǔ)這150x4的數(shù)據(jù):‘data’ 分類標(biāo)簽取

    2023年04月08日
    瀏覽(26)
  • 【主成分分析(PCA)- 鳶尾花】

    在現(xiàn)代數(shù)據(jù)科學(xué)中,維度災(zāi)難常常是數(shù)據(jù)處理與分析的一大難題。主成分分析(PCA)是一種廣泛使用的數(shù)據(jù)降維技術(shù),它通過將原始數(shù)據(jù)轉(zhuǎn)換為新的低維空間,保留最重要的信息,從而使得數(shù)據(jù)分析更加高效。本博客將詳細(xì)介紹PCA的原理、應(yīng)用場(chǎng)景以及如何使用Python中的skl

    2024年02月15日
    瀏覽(31)
  • 【機(jī)器學(xué)習(xí)】鳶尾花分類-邏輯回歸示例

    功能: 這段代碼演示了如何使用邏輯回歸對(duì)鳶尾花數(shù)據(jù)集進(jìn)行訓(xùn)練,并將訓(xùn)練好的模型保存到文件中。然后,它允許用戶輸入新的鳶尾花特征數(shù)據(jù),使用保存的模型進(jìn)行預(yù)測(cè),并輸出預(yù)測(cè)結(jié)果。 步驟概述: 加載數(shù)據(jù)和預(yù)處理: 使用 Scikit-Learn 中的 datasets 模塊加載鳶尾花數(shù)據(jù)

    2024年02月10日
    瀏覽(25)
  • 機(jī)器學(xué)習(xí)-KNN算法(鳶尾花分類實(shí)戰(zhàn))

    機(jī)器學(xué)習(xí)-KNN算法(鳶尾花分類實(shí)戰(zhàn))

    前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站。 K近鄰(K Nearest Neighbors,KNN)算法是最簡(jiǎn)單的分類算法之一,也就是根據(jù)現(xiàn)有訓(xùn)練數(shù)據(jù)判斷輸入樣本是屬于哪一個(gè)類別。 “近朱者赤近墨者黑\\\",所謂的K近鄰,也就

    2023年04月08日
    瀏覽(26)
  • 【機(jī)器學(xué)習(xí)】KNN算法-鳶尾花種類預(yù)測(cè)

    K最近鄰(K-Nearest Neighbors,KNN)算法是一種用于模式識(shí)別和分類的簡(jiǎn)單但強(qiáng)大的機(jī)器學(xué)習(xí)算法。它的工作原理非常直觀:給定一個(gè)新數(shù)據(jù)點(diǎn),KNN算法會(huì)查找離這個(gè)數(shù)據(jù)點(diǎn)最近的K個(gè)已知數(shù)據(jù)點(diǎn),然后基于這K個(gè)最近鄰數(shù)據(jù)點(diǎn)的類別來決定新數(shù)據(jù)點(diǎn)的類別。簡(jiǎn)而言之,KNN算法通過周

    2024年02月07日
    瀏覽(25)
  • Python鳶尾花SVM分類模型代碼

    Python鳶尾花SVM分類模型代碼

    ? ? ? ?機(jī)器學(xué)習(xí)的經(jīng)典實(shí)驗(yàn),對(duì)于數(shù)據(jù)集進(jìn)行分類,網(wǎng)上看了一點(diǎn)其他的和GPT寫的,好像只展示了4個(gè)特征中兩個(gè)特征與3種類別的分類圖,在我做這個(gè)實(shí)驗(yàn)交報(bào)告時(shí),老師就問這個(gè)特征之間有很多交叉的點(diǎn),在線性模型不應(yīng)該得到分類準(zhǔn)確度接近1的效果,后面改進(jìn)加上另外

    2024年01月21日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包