自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用隨機(jī)森林分類算法進(jìn)行Iris 數(shù)據(jù)分類訓(xùn)練,是怎樣的體驗(yàn)?

大數(shù)據(jù) 算法
MLlib是Spark的機(jī)器學(xué)習(xí)(ML)庫,旨在簡化機(jī)器學(xué)習(xí)的工程實(shí)踐工作,并方便擴(kuò)展到更大規(guī)模。

[[205745]]

MLlib是Spark的機(jī)器學(xué)習(xí)(ML)庫,旨在簡化機(jī)器學(xué)習(xí)的工程實(shí)踐工作,并方便擴(kuò)展到更大規(guī)模。

MLlib由一些通用的學(xué)習(xí)算法和工具組成,包括分類、回歸、聚類、協(xié)同過濾、降維等,同時還包括底層的優(yōu)化原語和高層的管道API。

MLllib目前分為兩個代碼包:spark.mllib 包含基于RDD的原始算法API。

spark.ml ,提供了基于DataFrames高層次的API,可以用來構(gòu)建機(jī)器學(xué)習(xí)管道,F(xiàn)EA-spk技術(shù)的機(jī)器學(xué)習(xí)就是基于spark.ml 包。

spark.ml 包,是基于DataFrame的,未來將成為Spark機(jī)器學(xué)習(xí)的主要API。它可以在分布式集群上進(jìn)行大規(guī)模的機(jī)器學(xué)習(xí)模型訓(xùn)練,并且可以對數(shù)據(jù)進(jìn)行可視化。

一、隨機(jī)森林分類算法的介紹

隨機(jī)森林顧名思義,是用隨機(jī)的方式建立一個森林,森林里面有很多的決策樹組成,隨機(jī)森林的每一棵決策樹之間是沒有關(guān)聯(lián)的。在得到森林之后,當(dāng)有一個新的輸入樣本進(jìn)入時,就讓森林中的每一棵決策樹分別進(jìn)行一下判斷,看看這個樣本應(yīng)該屬于哪一類(對應(yīng)分類算法),然后看看哪一類被選擇最多,就預(yù)測這個樣本為那一類。

使用Spark MLlib隨機(jī)森林算法存在不足,需要改進(jìn)!

具體來講,使用Spark MLlib進(jìn)行模型的訓(xùn)練,需要進(jìn)行大量的數(shù)據(jù)轉(zhuǎn)化,列聚合為向量等。非常麻煩,并且不能做數(shù)據(jù)的可視化。

而FEA-spk技術(shù)可以很好的解決這些問題。對模型進(jìn)行訓(xùn)練只需要一句命令就行了,并且可以對結(jié)果數(shù)據(jù)進(jìn)行可視化展示。

二、Iris 數(shù)據(jù)分類訓(xùn)練案例

下面列舉一個用隨機(jī)森林分類算法進(jìn)行Iris 數(shù)據(jù)分類的例子。

1. 數(shù)據(jù)準(zhǔn)備

原始的數(shù)據(jù)以及相應(yīng)的說明可以到https://pan.baidu.com/s/1c2d0hpA下載。 我在這基礎(chǔ)之上,增加了header信息。

這里將下載好的數(shù)據(jù)放到hdfs上面進(jìn)行讀取。

2. Iris 數(shù)據(jù)進(jìn)行訓(xùn)練的具體步驟

(1)要使用FEA-spk技術(shù),首先要創(chuàng)建一個spk的連接,所有的操作都是以它為上下文進(jìn)行的。在fea界面運(yùn)行以下命令

(2)加載數(shù)據(jù),數(shù)據(jù)在hdfs上面,數(shù)據(jù)的格式為csv文件格式,目錄為/data/iris_data.txt

(3)使用ML_si方法將字符型的label變成index

(4)將特征列的類型轉(zhuǎn)化為double類型,因?yàn)閟park.ml只支持double類型,使用 ML_double方法

(5)使用隨機(jī)森林模型進(jìn)行訓(xùn)練

在訓(xùn)練RandomForest模型的時候,我們需要設(shè)置好幾個參數(shù):

  • maxBins

***裝箱數(shù),為了近似統(tǒng)計變量,比如變量有100個值,我只分成10段去做統(tǒng)計,默認(rèn)值是32;

  • numTrees

森林里有幾棵樹,默認(rèn)值是20;

  • minInstancesPerNode

每個節(jié)點(diǎn)最少實(shí)例,默認(rèn)值是1;

  • minInfoGain

最小信息增益,默認(rèn)值是0.0;

  • maxDepth

***樹深度,默認(rèn)值是5;

  • maxMemoryInMB

***內(nèi)存MB單位,這個值越大,一次處理的節(jié)點(diǎn)劃分就越多,默認(rèn)值是256;

  • cacheNodeIds

是否緩存節(jié)點(diǎn)id,緩存可以加速深層樹的訓(xùn)練,默認(rèn)值是False;

  • checkpointInterval

檢查點(diǎn)間隔,就是多少次迭代固化一次,默認(rèn)值是10;

  • impurity

隨機(jī)森林有三種方式,entropy,gini,variance,回歸肯定就是variance,默認(rèn)值是gini;

  • seed

采樣種子,種子不變,采樣結(jié)果不變,默認(rèn)值None;

  • featureSubsetStrategy

auto: 默認(rèn)參數(shù)。讓算法自己決定,每顆樹使用幾條數(shù)據(jù)。

使用的參數(shù)如下圖所示

(6)對訓(xùn)練好的模型進(jìn)行打分

可以看到準(zhǔn)確率達(dá)到了97%

(7)將訓(xùn)練好的模型保存到hdfs上面,以供下次使用

這個非常實(shí)用,對于模型比較大的情況下,利用HDFS的分布式結(jié)構(gòu)就可以提高加載性能。

(8)將hdfs上面保存的模型加載進(jìn)來

(9)對加載后的模型做預(yù)測

其中prediction列就是預(yù)測的結(jié)果

以上就是使用FEA-spk技術(shù)進(jìn)行機(jī)器學(xué)習(xí)的步驟,它非常適合數(shù)據(jù)分析處理大規(guī)模的數(shù)據(jù),簡單、強(qiáng)大、可視化,不懂Java\Python同樣可以玩轉(zhuǎn)Spark!

責(zé)任編輯:武曉燕 來源: openfea博客
相關(guān)推薦

2023-09-22 10:34:19

學(xué)習(xí)算法隨機(jī)森林Java

2020-10-10 12:53:57

邏輯回歸機(jī)器學(xué)習(xí)分析

2022-08-19 07:38:51

數(shù)據(jù)備份系統(tǒng)存儲

2015-10-09 10:59:26

算法分類

2015-10-30 16:09:23

分類算法總結(jié)

2018-01-31 14:11:31

微信紅包隨機(jī)

2022-08-10 15:09:44

數(shù)據(jù)安全大數(shù)據(jù)數(shù)據(jù)分類

2023-02-23 08:00:00

Python機(jī)器學(xué)習(xí)編程代碼

2023-01-11 07:28:49

TensorFlow分類模型

2022-12-04 00:09:07

2016-08-31 14:41:31

大數(shù)據(jù)實(shí)時分析算法分類

2018-04-09 10:20:32

深度學(xué)習(xí)

2021-02-23 15:13:41

人工智能機(jī)器學(xué)習(xí)數(shù)據(jù)

2024-12-09 09:44:34

機(jī)器學(xué)習(xí)模型分類器

2018-03-26 20:49:08

圖像分類

2023-02-17 08:10:58

2018-04-16 12:14:34

數(shù)據(jù)科學(xué)機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

2018-04-06 05:10:04

K-NN數(shù)據(jù)集算法

2022-10-09 08:00:00

機(jī)器學(xué)習(xí)文本分類算法

2024-09-20 10:02:13

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號