pyspark.ml.feature特徵工程常用方法(二)

本篇博文主要是對pyspark.ml.feature模塊的函數進行介紹,也可以直接看官網文檔。其中博文的數據皆來自官方文檔中例子。官方文檔地址: http://spark.apache.org/docs/latest/api/python/pyspark.ml.html

pyspark.ml.feature 函數概括:

__all__ = ['Binarizer', 'Bucketizer', 'CountVectorizer', 'CountVectorizerModel', 'DCT',

           'ElementwiseProduct', 'HashingTF', 'IDF', 'IDFModel', 'IndexToString', 'MinMaxScaler',

           'MinMaxScalerModel', 'NGram', 'Normalizer', 'OneHotEncoder', 'PCA', 'PCAModel',

           'PolynomialExpansion', 'RegexTokenizer', 'RFormula', 'RFormulaModel', 'SQLTransformer',

           'StandardScaler', 'StandardScalerModel', 'StopWordsRemover', 'StringIndexer',

           'StringIndexerModel', 'Tokenizer', 'VectorAssembler', 'VectorIndexer', 'VectorSlicer',

           'Word2Vec', 'Word2VecModel']

1、MinMaxScaler(min=0.0, max=1.0, inputCol=None, outputCol=None)

MinMaxScaler歸一化數據到特定的範圍,被稱爲最小最大正則或者縮放。

計算公式如下:

Rescaled(e_i) = (e_i - E_min) / (E_max - E_min) * (max - min) + min

For the case E_max == E_min, Rescaled(e_i) = 0.5 * (max + min)

其中:[min,max]爲欲歸一化的特定範圍,e_i待處理數據,E_max數據最大值,E_min數據最小值。

from pyspark.ml.feature import MinMaxScaler

>>> from pyspark.ml.linalg import Vectors
>>> df = spark.createDataFrame([(Vectors.dense([0.0]),), (Vectors.dense([2.0]),)], ["a"])
>>> mmScaler = MinMaxScaler(inputCol="a", outputCol="scaled")
>>> model = mmScaler.fit(df)
>>> model.originalMin
DenseVector([0.0])
>>> model.originalMax
DenseVector([2.0])
>>> model.transform(df).show()

ss

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