PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 5.1 基于PySpark的機(jī)器學(xué)習(xí)庫(kù)_第1頁(yè)
PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 5.1 基于PySpark的機(jī)器學(xué)習(xí)庫(kù)_第2頁(yè)
PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 5.1 基于PySpark的機(jī)器學(xué)習(xí)庫(kù)_第3頁(yè)
PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 5.1 基于PySpark的機(jī)器學(xué)習(xí)庫(kù)_第4頁(yè)
PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 5.1 基于PySpark的機(jī)器學(xué)習(xí)庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

MLlib算法庫(kù)1MLlib介紹目錄MLlib算法庫(kù)2pyspark.ml模塊3MLlib是Spark中提供的可擴(kuò)展的機(jī)器學(xué)習(xí)庫(kù),由一系列的機(jī)器學(xué)習(xí)算法組成,并且對(duì)常用的機(jī)器學(xué)習(xí)算法進(jìn)行了分布式實(shí)現(xiàn)。算法庫(kù):分類(lèi)、回歸、聚類(lèi)、協(xié)同過(guò)濾等實(shí)用程序:數(shù)據(jù)預(yù)處理、特征提取、模型保存和加載等MLlib算法庫(kù)1MLlib介紹目錄MLlib算法庫(kù)2pyspark.ml模塊3機(jī)器學(xué)習(xí)是對(duì)研究問(wèn)題進(jìn)行模型假設(shè),利用計(jì)算機(jī)從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)得到模型參數(shù),并最終對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)和分析的一門(mén)學(xué)科。有監(jiān)督學(xué)習(xí)。有監(jiān)督學(xué)習(xí)是使用有標(biāo)簽的訓(xùn)練數(shù)據(jù)計(jì)算概率分布或圖模型的機(jī)器學(xué)習(xí)算法。常見(jiàn)的有監(jiān)督學(xué)習(xí)算法包括回歸和分類(lèi)算法。無(wú)監(jiān)督學(xué)習(xí)。無(wú)監(jiān)督學(xué)習(xí)是通過(guò)學(xué)習(xí)大量的無(wú)標(biāo)簽的數(shù)據(jù),分析數(shù)據(jù)內(nèi)在的特點(diǎn)和結(jié)構(gòu)的機(jī)器學(xué)習(xí)算法。常見(jiàn)的無(wú)監(jiān)督學(xué)習(xí)有聚類(lèi)算法。半監(jiān)督學(xué)習(xí)。半監(jiān)督學(xué)習(xí)是有監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)相結(jié)合的一種學(xué)習(xí)方法。半監(jiān)督學(xué)習(xí)需要采用合適的半監(jiān)督假設(shè)將學(xué)習(xí)模型和無(wú)標(biāo)簽樣本的數(shù)據(jù)分布聯(lián)系起來(lái)。常見(jiàn)的半監(jiān)督假設(shè)包括平滑假設(shè)(smoothnessassumption)、聚類(lèi)假設(shè)(clusterassumption)和流型假設(shè)(manifoldassumption)。機(jī)器學(xué)習(xí)簡(jiǎn)介MLlib是Spark的機(jī)器學(xué)習(xí)算法庫(kù),利用Spark分布式處理實(shí)現(xiàn)在大規(guī)模數(shù)據(jù)集上的機(jī)器學(xué)習(xí)。MLlib由一些通用的學(xué)習(xí)算法(如分類(lèi)、回歸和聚類(lèi)等)和工具(如轉(zhuǎn)換器、管道、評(píng)估器等)組成。Spark在1.3版本引入了高層次的DataFrame描述數(shù)據(jù)。針對(duì)這種改變,Spark將MLlib機(jī)器學(xué)習(xí)庫(kù)劃分成了如下兩個(gè)模塊。mllib模塊。包含基于RDD的機(jī)器學(xué)習(xí)算法API,目前不再更新,不建議使用。ml模塊。包含基于DataFrame的機(jī)器學(xué)習(xí)算法API,可以用于構(gòu)建機(jī)器學(xué)習(xí)工作流,ml模塊彌補(bǔ)了原始mllib模塊的不足,推薦使用。MLlib介紹1MLlib介紹目錄MLlib算法庫(kù)2pyspark.ml模塊3pyspark.ml模塊中包含了3個(gè)重要的抽象類(lèi),即轉(zhuǎn)換器(Transformer)、評(píng)估器(Estimator)和管道(Pipeline)。轉(zhuǎn)換器。具有transform()方法,通過(guò)附加一個(gè)或多個(gè)列將一個(gè)DataFrame轉(zhuǎn)換成另外一個(gè)DataFrame。在pyspark.ml.feature模塊中提供了許多轉(zhuǎn)換,常見(jiàn)的有VectorAssembler(特征向量組合轉(zhuǎn)換器)和OneHotEncoder(獨(dú)熱編碼轉(zhuǎn)換器)。評(píng)估器。具有fit()方法,接受一個(gè)DataFrame數(shù)據(jù)作為輸入,后經(jīng)過(guò)訓(xùn)練,得到一個(gè)轉(zhuǎn)換器,該方法需要合適的參數(shù)擬合DataFrame中的數(shù)據(jù)。PySpark中的評(píng)估器主要包分類(lèi),回歸、聚類(lèi)和推薦等。管道。具有setStages()方法,將多個(gè)轉(zhuǎn)換器和一個(gè)評(píng)估器串聯(lián)起來(lái),得到一個(gè)流水線模型。該流水線模型可以對(duì)輸入的一些原始數(shù)據(jù)執(zhí)行必要的數(shù)據(jù)加工、模型構(gòu)建和評(píng)估。pyspark.ml模塊pyspark.ml.feature模塊提供了轉(zhuǎn)換器實(shí)現(xiàn),按照轉(zhuǎn)換器實(shí)現(xiàn)的功能可以對(duì)轉(zhuǎn)換器的類(lèi)型進(jìn)行劃分。轉(zhuǎn)換器類(lèi)別轉(zhuǎn)換器功能描述特征離散化Binarizer根據(jù)指定的閾值將連續(xù)變量轉(zhuǎn)換為二元離散值Bucketizer根據(jù)閾值列表將連續(xù)變量轉(zhuǎn)換為多元離散值特征轉(zhuǎn)換Normalizer該方法使用p范數(shù)將數(shù)據(jù)縮放為單位范數(shù)(默認(rèn)為L(zhǎng)2)MinMaxScaler將數(shù)據(jù)縮放到[0,1]范圍內(nèi)MaxAbsScaler將數(shù)據(jù)縮放到[-1,1]范圍內(nèi)StandardScaler按照均值為0,方差為1進(jìn)行數(shù)據(jù)歸一化轉(zhuǎn)換接上表轉(zhuǎn)換器類(lèi)別轉(zhuǎn)換器功能描述特征選擇PCA使用主成分分析執(zhí)行數(shù)據(jù)降維ChiSqSelector使用卡方檢驗(yàn)統(tǒng)計(jì)量篩選特征VectorSlicer根據(jù)索引列表從原特征向量中提取向量,形成新的特征向量文本特征提取CountVectorizer文本中的詞語(yǔ)轉(zhuǎn)換為詞頻矩陣StringIndexer將字符串索引化Word2Vec將單詞轉(zhuǎn)換為Map(String,Vector)模型IDF該方法計(jì)算文檔列表的逆向文件頻率接上表轉(zhuǎn)換器類(lèi)別轉(zhuǎn)換器功能描述文本特征提取StopWordsRemover從標(biāo)記文本中刪除停用詞,如'the','a'等Tokenizer以空格為分割符進(jìn)行分詞RegexTokenizer基于正則表達(dá)式的分詞器NGram將n個(gè)相鄰詞組合成字符特征向量化VectorAssembler將多個(gè)數(shù)字(包括向量)列合并為一列向量PolynomialExpansion對(duì)向量執(zhí)行多項(xiàng)式展開(kāi)OneHotEncoder該方法將分類(lèi)列編碼為二進(jìn)制向量列pyspark.ml模塊中評(píng)估器主要用于實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法模型,分類(lèi)(pyspark.ml.classification)、回歸(pyspark.ml.regression)和聚類(lèi)(pyspark.ml.clustering)等多種算法模型的實(shí)現(xiàn)。評(píng)估器模型類(lèi)別模型功能描述分類(lèi)模型LogisticRegression分類(lèi)的基準(zhǔn)模型,使用對(duì)數(shù)函數(shù)計(jì)算屬于特定類(lèi)別的概率DecisionTreeClassifier決策樹(shù)模型,構(gòu)建決策樹(shù)來(lái)預(yù)測(cè)輸入數(shù)據(jù)的類(lèi)別GBTClassifier梯度提升決策樹(shù)模型,組合多個(gè)弱預(yù)測(cè)模型形成一個(gè)強(qiáng)預(yù)測(cè)模型RandomForestClassifier隨機(jī)森林模型,構(gòu)建多棵決策樹(shù)對(duì)輸入數(shù)據(jù)進(jìn)行分類(lèi),支持二元分類(lèi)和多元分類(lèi)NaiveBayes貝葉斯模型,基于條件概率理論對(duì)數(shù)據(jù)行分類(lèi)接上表評(píng)估器模型類(lèi)別模型功能描述回歸模型DecisionTreeRegressor決策樹(shù)回歸模型,與決策樹(shù)分類(lèi)模型區(qū)別是樣本標(biāo)簽是連續(xù)值而不是離散型RandomForestRegressor隨機(jī)森林回歸模型,標(biāo)簽是連續(xù)數(shù)值,而不是離散型標(biāo)簽GBTRegressorGBDT回歸模型,樣本標(biāo)簽是連續(xù)值LinearRegression線性回歸GeneralizedLinearRegression廣義線性回歸模型,支持使用不同的高斯核函數(shù)進(jìn)行線性分析聚類(lèi)模型LDA主題生成模型,用于獲取文本文檔的主題模型KMeansK均值聚類(lèi)模型,將數(shù)據(jù)分成K類(lèi)BisectingKMeans結(jié)合K均值算法和層次聚類(lèi)算法,二分K均值,每次一分為二,直到數(shù)目等于k為止推薦模型ALS基于交替最小二乘法求解協(xié)同過(guò)濾模型在構(gòu)建完評(píng)估器(即模型)后,還需對(duì)模型評(píng)價(jià)與優(yōu)化。pyspark.ml.evaluation模塊提供了模型的評(píng)價(jià)方法。評(píng)估器模型評(píng)價(jià)方法功能描述分類(lèi)模型BinaryClassificationEvaluator評(píng)價(jià)二分類(lèi)模型的方法MulticlassClassificationEvaluator評(píng)價(jià)多分類(lèi)模型的方法MultilabelClassificationEvaluator評(píng)價(jià)多標(biāo)簽分類(lèi)模型的方法回歸模型RegressionEvaluator評(píng)價(jià)回歸模型的方法聚類(lèi)模型ClusteringEvaluator評(píng)價(jià)聚類(lèi)模型的方法排名模型RankingEvaluator評(píng)價(jià)排名模型的方法pyspark.ml.tuning模塊提供了模型優(yōu)化的方法。在機(jī)器學(xué)習(xí)中,需要對(duì)模型的參數(shù)進(jìn)行調(diào)整,不斷的擬合訓(xùn)練數(shù)據(jù),最終獲得較好的預(yù)測(cè)結(jié)果。評(píng)估器優(yōu)化方法功能描述ParamGridBuilder參數(shù)網(wǎng)格,設(shè)置需要優(yōu)化參數(shù)值的可選范圍,進(jìn)行網(wǎng)絡(luò)遍歷搜索CrossValidatorTrainValidationSplit根據(jù)參數(shù)劃分訓(xùn)練集和驗(yàn)證集,模型只訓(xùn)練一次pyspark.ml模塊中的管道用來(lái)表示從轉(zhuǎn)換器到評(píng)估器的端到端的操作,由多個(gè)轉(zhuǎn)換器和評(píng)估器組成,按照順序執(zhí)行,對(duì)輸入數(shù)據(jù)執(zhí)行必要的數(shù)據(jù)轉(zhuǎn)換,最后評(píng)估模型。一個(gè)管道由多個(gè)轉(zhuǎn)換器和一個(gè)評(píng)估器組成,管道中每個(gè)轉(zhuǎn)換器或評(píng)估器稱(chēng)之為階段(stages),在pipeline對(duì)象上執(zhí)行fit()方法時(shí),依次執(zhí)行管道中每個(gè)轉(zhuǎn)換器的transform()方法和所有評(píng)估器的fit()方法。Pipeline就是將數(shù)據(jù)分析的多個(gè)階段,如數(shù)據(jù)加載,數(shù)據(jù)預(yù)處理,模型評(píng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論