基本概念-本地向量、转换器、评估器、参数

本文旨在解释Spark MLlib中的基本概念,包括本地向量(如密集向量和稀疏向量)、转换器(Transformer)的使用,如模型如何将DataFrame转化为新的DataFrame,评估器(Estimator)的角色,以及参数API的共通性。实验目的是理解这些概念,并在Ubuntu 16.04环境中使用Pyspark进行实践。
摘要由CSDN通过智能技术生成

实验名称

基本概念-本地向量、转换器、评估器、参数

实验目的

  • 理解本地向量、转换器、评估器、参数

实验原理

(1)本地向量:Mllib支持两种类型的本地向量:密集向量(dense)和稀疏向量(sparse)。密集向量只有一个浮点数组组成,而一个稀疏向量必须有索引和一个浮点向量组成。例如,(2.1,3.2,4.3)代表一个密集向量。(3,[1.1,2.3],[5.6,4.3,4.4])代表一个稀疏向量。

(2)Transformer:翻译成转换器,是一种可以将一个DataFrame转换为另一个DataFrame的算法。比如一个模型就是一个 Transformer。它可以把一个不包含预测标签的测试数据集 DataFrame 打上标签,转化成另一个包含预测标签的 DataFrame。

技术上,Transformer实现了一个方法transform(),它通过附加一个或多个列将一个DataFrame转换为另一个DataFrame

(3)Estimator:翻译成估计器或评估器,它是学习算法或在训练数据上的训练方法的概念抽象。在 Pipeline 里通常是被用来操作 DataFrame 数据并生成一个 Transformer。从技术上讲,Estimator实现了一个方法fit(),它接受一个DataFrame并产生一个转换器。比如,一个随机森林算法就是一个 Estimator,它可以调用fit(),通过训练特征数据而得到一个随机森林模型。

(4)Parameter:所有Transformers和Estimators现在共享一个用于指定参数的通用API

实验环境

  • VMware Workstation
  • Ubuntu 16.04
  • Pycharm
  • Pyspark

实验步骤

from pyspark.ml.linalg import Vectors
from pyspark.ml.classification import LogisticRegression

# Prepare training data from a list of (label, features) tuples.
training = spark.createDataFrame([
    (1.0, Vectors.dense([0.0, 1.1, 0.1])),
    (0.0, Vectors.dense([2.0, 1.0, <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值