Spark MLlib(一)正則化特徵
阿新 • • 發佈:2019-02-10
Spark 在其 MLlib 機器學習庫中內建了一些函式用於特徵的縮放和標準化。
- (1)StandardScaler:標準正太變換
- (2)Normalizer:特徵向量正則化(範數為1,
xi∥x∥ )
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 陣列