PySpark大数据分析(8):PySpark机器学习库

MLlib

数据类型

在PySpark的MLlib中,存在一些常用数据类型,主要用于支持机器学习场景:

  • Vector
    向量,包括稠密与稀疏两种存储方式,是MLlib中最常用到的数据类型之一。PySpark可以直接使用NumPy中的数组作为稠密向量,也可以通过Vectors.dense()将一个列表转为稠密向量。稀疏向量可以通过Vectors.sparse()生成,需要指定向量的长度,同时使用字典或列表声明非零位的值。
import numpy as np
from pyspark.mllib.linalg import Vectors


dense_vector1 = np.array([1, 2, 3])
dense_vector2 = Vectors.dense([4, 5, 6])
sparse_vector1 = Vectors.sparse(3, {0: 7, 1: 8})
sparse_vector2 = Vectors.sparse(3, [0, 2], [9, 10])
print(
    f'''
    Dense vector from NumPy: {dense_vector1}
    Dense vector from PySpark: {dense_vector2}
    Sparse vector from Dict: {sparse_vector1}
    Sparse vector from List: {sparse_vector2}
    '''
)
# output:
# Dense vector from NumPy: [1 2 3]
# Dense vector from PySpark: [4.0,5.0,6.0]
# Sparse vector from Dict: (3,[0,1],[7.0,8.0])
# Sparse vector from List: (3,[0,2],[9.0,10.0])
  • LabeledPoint
    标签,用于有监督学习任务,包含一个特征向量与一个标签。
  • Rating
    评分,是包含一个用户对一个产品的评分的三元组,在MLlib下的recommendation模块中,常用于个性化推荐算法。
from pyspark.mllib.recommendation import Rating


r = Rating('uid1', 1001, 4.5)
print(r.user, r.product, r.rating)  # uid1 1001 4.5
  • Model
    算法模型,作为训练完成后的结果,可以通过predict()进行预测。

特征工程

数值特征

类别特征

StringIndexer

StringIndexer是

One-Hot编码

数据统计

算法

分类

回归

聚类

协同过滤

降维

模型评估

上一篇:PySpark大数据分析(7):Spark SQL

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值