Spark 在其 MLlib 机器学习库中内置了一些函数用于特征的缩放和标准化。
>>> 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 数组
联系客服