1. 程式人生 > >Spark MLlib(一)正則化特徵

Spark MLlib(一)正則化特徵

Spark 在其 MLlib 機器學習庫中內建了一些函式用於特徵的縮放和標準化。

  • (1)StandardScaler:標準正太變換
  • (2)Normalizer:特徵向量正則化(範數為1,xix

pyspark

>>> from pyspark.mllib.feature import Normalizer

驗證兩種方式(直接使用 numpy 相關函式進行處理,使用 mllib 提供的類)的歸一化結果:

>>> import numpy as np
>>> np.__version__
'1.9.2'                         # 注意 numpy 的版本要高於 1.4 才行
>>> np.random.seed(42) >>> x = np.random.randn(10)
  • (1)numpy 相關函式

    >>> normalized_x_2 = x / np.linalg.norm(x)
  • (2)使用 MLlib 類

    >>> from pyspark.mllib.feature import Normalizer
    >>> normalizer = Normalizer()
    >>> x = sc.parallelize([x])
    >>> normalized_x_mllib = normalizer.transform(x).first().toArray()
                            # toArray:返回 numpy 陣列