本文共 1655 字,大约阅读时间需要 5 分钟。
MLlib 是 Apache Spark 的机器学习库,旨在简化机器学习工作流程并提升扩展性。该库整合了多种常用算法和工具,涵盖分类、回归、聚类、协同过滤等核心任务,同时提供底层优化原语和高层管道 API,适用于大规模数据处理。
MLlib 提供了多种通用机器学习算法:
MLlib 提供了多种特征化工具:
MLlib 的工作流是其核心功能之一。
通过代码示例可以看出工作流的构建步骤:
from pyspark.ml import Pipelinefrom pyspark.ml.classification import LogisticRegressionfrom pyspark.ml.feature import HashingTF, Tokenizer# 创建训练集 DataFramedf_train = 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"])# 定义 PipeLine 阶段tokenizer = Tokenizer(inputCol="text", outputCol="words")hashTf = HashingTF(inputCol=tokenizer.getOutputCol(), outputCol="features")# 创建 PipeLine 实例,并训练模型pipeline = Pipeline(stages=[tokenizer, hashTf, lr])model = pipeline.fit(df_train)# 创建测试集df_test = spark.createDataFrame([ (4, "spark i j k"), (5, "l m n"), (6, "spark hadoop spark"), (7, "apache hadoop")], ["id", "text"])# 进行预测predict = model.transform(df_test)predict.show()
通过上述代码可以观察到模型训练和测试的完整流程:
工作流的核心优势在于实现了多任务机器学习的自动化,用户无需手动调整各个算法之间的依赖关系。在 MLlib 中,可以轻松组合多种算法,形成复杂的工作流,充分发挥大规模数据处理能力。
转载地址:http://oubpz.baihongyu.com/