目錄
一、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》