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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論