头歌 Spark的机器学习-MLlib

第1关 MLlib介绍

package com.educoder.bigData.sparksql5;
import java.util.Arrays;
import java.util.List;
import org.apache.spark.ml.Pipeline;
import org.apache.spark.ml.PipelineModel;
import org.apache.spark.ml.PipelineStage;
import org.apache.spark.ml.classification.LogisticRegression;
import org.apache.spark.ml.feature.HashingTF;
import org.apache.spark.ml.feature.Tokenizer;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.RowFactory;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.types.DataTypes;
import org.apache.spark.sql.types.Metadata;
import org.apache.spark.sql.types.StructField;
import org.apache.spark.sql.types.StructType;
public class Test1 {
   
public static void main(String[] args) {
   
SparkSession spark = SparkSession.builder().appName("test1").master("local").getOrCreate();
List<Row> trainingList = Arrays.asList(
RowFactory.create(1.0, "a b c d E spark"),
RowFactory.create(0.0, "b d"),
RowFactory.create(1.0, "hadoop Mapreduce"),
RowFactory.create(0.0, "f g h"));
List<Row> testList = Arrays.asList(
RowFactory.create(0.0, "spark I j k"),
RowFactory.create(0.0, "l M n"),
RowFactory.create(0.0, "f g"),
RowFactory
### 于 Apache Spark MLlib 的概述 Apache Spark MLlibSpark 提供的一个分布式机器学习库,旨在简化大规模数据集上执行机器学习的过程。该库不仅包含了常见的机器学习算法实现,还提供了用于构建、评估和调优机器学习管道的各种工具[^1]。 #### 主要特性 - **丰富的算法支持**:MLlib 支持多种类型的机器学习任务,包括分类、回归、聚类以及协同过滤等。 - **易于使用的 API**:无论是 Python 还是 Scala 用户都能找到适合自己的接口来快速搭建模型。 - **高效的性能表现**:得益于 Spark 的内存计算能力,即使面对海量的数据也能保持高效运行。 - **集成性强**:可以方便地与其他 Spark 组件(如 SQL 查询引擎或流处理模块)结合使用。 ```python from pyspark.ml import Pipeline from pyspark.ml.classification import LogisticRegression from pyspark.ml.feature import HashingTF, Tokenizer # 准备训练数据 training = spark.createDataFrame([ (0L, "a b c d e spark", 1.0), (1L, "b d", 0.0), (2L, "spark f g h", 1.0), (3L, "hadoop mapreduce", 0.0) ], ["id", "text", "label"]) # 配置各个阶段的转换器 tokenizer = Tokenizer(inputCol="text", outputCol="words") hashingTF = HashingTF(inputCol=tokenizer.getOutputCol(), outputCol="features") lr = LogisticRegression(maxIter=10, regParam=0.001) # 构建并拟合流水线 pipeline = Pipeline(stages=[tokenizer, hashingTF, lr]) model = pipeline.fit(training) ``` 此代码片段展示了如何利用 `Pipeline` 将多个数据变换步骤串联起来形成完整的机器学习工作流程;这里选择了逻辑回归作为最终的学习算法来进行二元分类任务[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值