Spark MLlib

Spark MLlib

Spark机器学习的库

机器学习分类方式(之一)

监督学习(带标签)

无监督学习(不带标签)

强化学习

机器学习步骤

b985d75be802ee3d9db858c2370412fe.png (701×356)

大模型 RAG 基础:信息检索、文本向量化及 BGE-M3 embedding 实践(2024)

MLlib

算法工具:常用的学习算法,如分类、回归、聚类和协同过滤。

特征化工具:特征提取、转化、降维和选择工具。

流水线:用于构建、评估和调整机器学习工作流的工具。

持久化:保存和加载算法、模型和管道。

实用工具:线性代数、统计、数据处理等工具。

机器学习流水线

Pipeline(流水线)

训练过程👇

R-C.d73c4e350e6c0bce76e1c101325aed81 (1379×352)

测试/预测👇

d9c4fbda19cba215cb916d67f9d83ace.png (1389×391)

学习构建一个流水线

Spark编程笔记(8)-Spark MLlib(完) - 知乎

查找出所有包含"spark"的句子,即将包含"spark"的句子 的标签设为1,没有"spark"的句子的标签设为0。

from pyspark.ml.feature import Tokenizer, HashingTF
from pyspark.ml.classification import LogisticRegression
from pyspark.ml import Pipeline
 
# 1. 数据准备(已经包含标签)
training = spark.createDataFrame([
    (0, "a b c d e spark", 1.0),
    (1, "b d", 0.0),
    (2, "spark f g h", 1.0),
    (3, "hadoop mapreduce", 0.0)
], ["id", "text", "label"])
 
# 2. 特征工程
tokenizer = Tokenizer(inputCol="text", outputCol="words")
hashingTF = HashingTF(inputCol="words", outputCol="features")
 
# 3. 定义模型(逻辑回归)
lr = LogisticRegression(maxIter=10, regParam=0.01)
 
# 4. 构建Pipeline
pipeline = Pipeline(stages=[tokenizer, hashingTF, lr])
 
# 5. 训练模型(这里才会用到.fit())
model = pipeline.fit(training)  # <-- 这里调用.fit()
 
# 6. 预测
test = spark.createDataFrame([
    (4, "spark i j k"),
    (5, "l m n"),
    (6, "spark hadoop spark"),
    (7, "apache hadoop")
], ["id", "text"])
 
prediction = model.transform(test)
prediction.select("text", "probability", "prediction").show()
posted @ 2025-06-08 14:42  快乐星猫i  阅读(66)  评论(0)    收藏  举报