[spark]總結spark ML機器學習庫(pyspark.ml)

目錄

一、pyspark.ml.feature特徵處理

二、pyspark.ml模型

三、pyspark.ml.tuning參數遍歷


一、pyspark.ml.feature特徵處理

  方法 描述 功能
連續特徵離散化 Binarizer 將連續值劃分爲二元離散數值 連續特徵離散化
Bucketizer 將連續值劃分爲多元離散數值 連續特徵離散化
QuantileDiscretizer 分位數離散化,將連續型特徵轉換爲分級類別特徵,每個類別的元素個數大致相等 連續特徵離散化
特徵選擇 ChiSqSelector 根據卡方檢驗,選取類別標籤主要依賴的特徵 特徵選擇
PCA 主成分分析,找出特徵中最重要的特徵,進行降維 特徵提取、數據降維
VectorSlicer 從原來的特徵向量中切割一部分,形成新的特徵向量 特徵選擇
特徵歸一化 MaxAbsScaler 每一列特徵值除以列向量上的最大值的絕對值,特徵值縮放到[-1,1] 列數據標準化-最大值歸一化
MinMaxScaler 列特徵數據歸一化到[0,1] 列數據標準化-最大值最小值歸一化
StandardScaler 特徵列向量標準化,均值爲0,方差爲1 列數據標準化-單位標準差
Normalizer 行向量的範數變換爲單位範數 行向量正則化
文本特徵提取 StringIndexer 將字符串索引化 文本特徵轉化爲詞頻向量
CountVectorizer 從文本文檔中提取詞彙,並統計詞頻 文本特徵轉化爲詞頻向量
HashingTF 從文本文檔中提取詞彙,哈希到固定長度的特徵向量,並統計詞頻 文本詞向量轉化爲哈希詞頻向量
IDF 逆向文件頻率,計算單詞在文檔中出現的頻率 TF-IDF文本特徵提取的常用方法,評估字詞對一個文本的重要程度
Word2Vec 將每個詞語映射到一個固定大小的向量 單詞轉化爲向量
文本特徵  NGram 將文本詞向量,n個相鄰詞組合成字符串 文本詞向量組合
StopWordsRemover 將字符串中的停用字刪除 文本刪除停用字
Tokenizer 分詞器,將字符串轉化爲小寫字符,根據空格拆分 文本拆分
RegexTokenizer 基於正則表達式拆分輸入的文本 文本拆分
特徵向量 OneHotEncoder 將某列根據其值轉變成多列 對分類型特徵進行獨熱編碼
PolynomialExpansion n維原始特徵組合擴展到多項式空間 特徵多項式擴展
ElementwiseProduct 對向量乘以權向量,得到新向量 向量特徵放縮
VectorAssembler 將多列特徵轉化爲單列的向量列 特徵向量合併


二、pyspark.ml模型

  模型 描述
Classification LogisticRegression 基準分類器,計算樣本屬於某一類別的概率
NaiveBayes 根據條件概率計算樣本屬於某一類別的概率,能處理二分類及多分類問題
DecisionTreeClassifier 決策樹分類器。
參數:maxDepth,樹的最大深度;minInstancePerNode,節點可以繼續拆分左右子樹的樣本最小值;maxBins,連續特徵可以離散化的最大數目;impurity,計算信息增益的方法。
GBTClassifier 集成模型,解決二分類問題,能處理連續和離散特徵。
RandomForestClassifier 集成模型,解決二分類及多分類問題。
MultilayerPerceptronClassifier 多層感知機分類器,至少三個全連接層,輸入層及中間層使用sigmoid激活函數,輸出層使用softmax函數分類。解決二分類及多分類問題。
OneVsRest 將多分類問題轉化爲二分類問題,k個類別訓練k個模型。
Regression DecisionTreeRegressor 決策樹迴歸模型,與決策樹分類器區別是樣本標籤是連續值
RandomForestRegressor 隨機森林迴歸模型,標籤是連續值
GBTRegressor GBDT迴歸模型,樣本標籤是連續值
LinearRegression 線性迴歸,誤差項呈正態分佈
GeneralizedLinearRegression 廣義線性迴歸模型,是擁有不同高斯核函數的線性模型。誤差項呈高斯分佈
IsotonicRegression 針對有序數據集的迴歸模型
clustering BisectingKMeans Kmeans和分層聚類的組合
KMeans KMeans聚類
GaussianMixture 採用高斯分佈對數據集聚類
LDA 獲取文本文檔的主題模型

三、pyspark.ml.tuning參數遍歷

對模型參數進行網絡搜索遍歷,選擇最優模型。對模型參數進行遍歷的原則:對影響較大的參數先行遍歷。

pyspark.ml.tuning 提供兩種方式對參數遍歷:

CrossValidator,K折交叉驗證,將數據集分成K份,選擇一份作爲測試集,進行K次訓練,取評估指標的平均值;TrainValidationSplit,訓練集和驗證集劃分驗證,模型只訓練一次。

 

參考資料:

《Learning PySpark》

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章