【pyspark学习从入门到精通19】机器学习库_2

目录

估计器

分类

回归

聚类

管道



估计器

估计器可以被看作是需要估算的统计模型,以便对您的观测值进行预测或分类。

如果从抽象的 Estimator 类派生,新模型必须实现 .fit(...) 方法,该方法根据在 DataFrame 中找到的数据以及一些默认或用户指定的参数来拟合模型。

PySpark 中有许多估计器,我们现在将简要描述 Spark 2.0 中可用的模型。

分类

ML 包为数据科学家提供了七种分类模型供选择。这些模型从最简单的(如逻辑回归)到更复杂的都有。我们将在下一节中简要描述每一个:

- LogisticRegression:分类的基准模型。逻辑回归使用 logit 函数计算观测值属于特定类别的概率。在撰写本文时,PySpark ML 仅支持二元分类问题。
- DecisionTreeClassifier:构建决策树以预测观测值的类别的分类器。指定 maxDepth 参数可以限制树生长的深度,minInstancePerNode 确定进一步分割所需的树节点中的最小观测次数,maxBins 参数指定连续变量将被分割成的最大箱数,而 impurity 指定用于测量并计算从分割中获得的信息增益的度量。
- GBTClassifier:用于分类的梯度提升树模型。该模型属于集成模型家族:将多个弱预测模型结合起来形成一个强模型。目前,GBTClassifier 模型支持二元标签,以及连续和分类特征。
- RandomForestClassifier:这个模型生成多个决策树(因此得名森林),并使用这些决策树的模式输出来对观测值进行分类。RandomForestClassifier 支持二元和多项式标签。
- NaiveBayes:基于贝叶斯定理,该模型使用条件概率理论对观测值进行分类。PySpark ML 中的 NaiveBayes 模型支持二元和多项式标签。
- MultilayerPerceptronClassifier:模仿人脑的分类器。深深植根于人工神经网络理论,模型是一个黑盒,即不容易解释模型的内部参数。该模型至少由三层完全连接的人工神经元组成:输入层(需要等于数据集中的特征数量)、至少一个隐藏层,以及输出层的神经元数量等于标签中的类别数量。输入层和隐藏层的所有神经元都有 sigmoid 激活函数,而输出层神经元的激活函数是 softmax。
- OneVsRest:将多类分类简化为二元分类。例如,在多项式标签的情况下,模型可以训练多个二元逻辑回归模型。例如,如果标签 == 2,模型将构建一个逻辑回归,将标签 == 2 转换为 1(所有剩余的标签值将被设置为 0),然后训练一个二元模型。然后对所有模型进行评分,概率最高的模型获胜。

回归

PySpark ML 包中有七种模型可用于回归任务。与分类一样,这些模型从一些基本的(如必不可少的线性回归)到更复杂的都有:

- AFTSurvivalRegression:拟合加速失效时间回归模型。它是一个参数模型,假设一个特征的边际效应加速或减缓寿命期望(或过程失效)。它非常适用于具有明确阶段的过程。
- DecisionTreeRegressor:与分类模型类似,明显的区别是标签是连续的而不是二元的(或多项式的)。
- GBTRegressor:与 DecisionTreeRegressor 一样,区别在于标签的数据类型。
- GeneralizedLinearRegression:具有不同核函数(链接函数)的线性模型家族。与假设误差项正态性的线性回归不同,GLM 允许标签具有不同的误差项分布:PySpark ML 包中的 GeneralizedLinearRegression 模型支持高斯、二项式、伽马和泊松误差分布家族以及多种不同的链接函数。
- IsotonicRegression:一种回归类型,适合你的数据形成一个自由形式的、非递减的线。它适用于拟合有序且递增的观测值数据集。
- LinearRegression:最简单的回归模型,它假设特征和连续标签之间存在线性关系,并且误差项呈正态分布。
- RandomForestRegressor:与 DecisionTreeRegressor 或 GBTRegressor 类似,RandomForestRegressor 拟合的是连续标签而不是离散标签。

聚类

聚类是一类无监督模型,用于发现数据中的潜在模式。PySpark ML 包目前提供了四种最受欢迎的模型:

- BisectingKMeans:k-means 聚类方法和层次聚类的结合。该算法从所有观测值在一个单一的簇开始,逐步将数据分割成 k 个簇。
- KMeans:这是著名的 k-means 算法,将数据分离成 k 个簇,迭代搜索最小化每个观测值与其所属于簇的质心之间平方距离之和的质心。
- GaussianMixture:该方法使用 k 个具有未知参数的高斯分布来剖析数据集。利用期望最大化算法,通过最大化对数似然函数找到高斯的参数。
- LDA:这个模型用于自然语言处理应用中的主题建模。

PySpark ML 中还有一个推荐模型可用,但我们将不在这里描述它。

管道

在 PySpark ML 中,管道是一个端到端的转换-估计过程的概念(具有不同的阶段),它摄取一些原始数据(以 DataFrame 形式),执行必要的数据加工(转换),并最终估计一个统计模型(估计器)。

管道可以被看作是由多个离散阶段组成的链。当在管道对象上执行 .fit(...) 方法时,所有阶段都会按照它们在 stages 参数中指定的顺序执行;stages 参数是转换器和估计器对象的列表。管道对象的 .fit(...) 方法执行转换器的 .transform(...) 方法和估计器的 .fit(...) 方法。

通常,前一阶段的输出成为下一阶段的输入:当从转换器或估计器抽象类派生时,需要实现 .getOutputCol() 方法,该方法返回在创建对象时指定的 outputCol 参数的值。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/478968.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA---IO

目录 IO流 一 字节流 1 FileOutStream 1 书写: 2 换行书写与续写: 2 FileInputStream 1 读取数据 2 循环读取: 二 字符流 1 FileReader 1 空参的read()方法读取数据: 2 有参的read()方法读取数据: 3 指定字…

4.6 JMeter HTTP信息头管理器

欢迎大家订阅【软件测试】 专栏,开启你的软件测试学习之旅! 文章目录 前言1 HTTP信息头管理器的位置2 常见的HTTP请求头3 添加 HTTP 信息头管理器4 应用场景 前言 在 JMeter 中,HTTP信息头管理器(HTTP Header Manager&#xff09…

C语言解析命令行参数

原文地址:C语言解析命令行参数 – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 C语言有一个 getopt 函数,可以对命令行进行解析,下面给出一个示例,用的时候可以直接copy过去修改,很方便…

Android 11 三方应用监听关机广播ACTION_SHUTDOWN

前言 最近有项目过程中,有做app的同事反馈,三方应用无法监听关机广播。特地研究了下关机广播为啥监听不到。 1.原因:发送关机广播的类是ShutdownThread.java,添加了flag:Intent.FLAG_RECEIVER_FOREGROUND | Intent.FLAG_RECEIVER…

【Python】九大经典排序算法:从入门到精通的详解(冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、计数排序、基数排序、桶排序)

文章目录 1. 冒泡排序(Bubble Sort)2. 选择排序(Selection Sort)3. 插入排序(Insertion Sort)4. 归并排序(Merge Sort)5. 快速排序(Quick Sort)6. 堆排序&…

计算机毕业设计Hadoop+Spark音乐推荐系统 音乐预测系统 音乐可视化大屏 音乐爬虫 HDFS hive数据仓库 机器学习 深度学习 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

深入理解 Java 基本语法之运算符

(一)研究背景 在 Java 编程中,运算符是处理数据和变量的基本工具,掌握各种运算符的使用方法对于提高编程效率至关重要。 (二)研究目的 深入理解 Java 基础运算符的概念、分类和作用,通过具体…

【微服务】 Eureka和Ribbon

一、Eureka 服务调用出现的问题:在远程调用另一个服务时,我们采用的解决办法是发送一次http请求,每次环境的变更会产生新的地址,所以采用硬编码会出现很多麻烦,并且为了应对并发问题,采用分布式部署&#…

计算机毕业设计Python+大模型美食推荐系统 美食可视化 美食数据分析大屏 美食爬虫 美团爬虫 机器学习 大数据毕业设计 Django Vue.js

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

QT QToolButton控件 全面详解

本系列文章全面的介绍了QT中的57种控件的使用方法以及示例,包括 Button(PushButton、toolButton、radioButton、checkBox、commandLinkButton、buttonBox)、Layouts(verticalLayout、horizontalLayout、gridLayout、formLayout)、Spacers(verticalSpacer、horizontalSpacer)、…

[SWPUCTF 2021 新生赛]error

[SWPUCTF 2021 新生赛]error 报错注入:?idand updatexml(1,concat(0x7e,database(),0x7e),1) -- 爆出了数据库名称 test_db 爆表名:?idand updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_sc…

快速理解微服务中Gateway的概念

一.基本概念 定义: 在微服务架构中,Spring Cloud Gateway 是一个用于API网关的框架,它是一个基于 Spring Framework 的高效、可扩展的路由器和反向代理,它能够将外部请求转发到适当的微服务,并提供一些与请求处理相关…

【消息序列】详解(7):剖析回环模式--设备测试的核心利器

目录 一、概述 1.1. 本地回环模式 1.2. 远程环回模式 二、本地回环模式(Local Loopback mode) 2.1. 步骤 1:主机进入本地环回模式 2.2. 本地回环测试 2.2.1. 步骤 2a:主机发送HCI数据包并接收环回数据 2.2.2. 步骤 2b&…

GCP Dataproc有什么特点,有什么最佳实践

Google Cloud Dataproc 是一个完全托管的 Apache Hadoop 和 Apache Spark 服务,旨在快速处理大数据工作负载。以下是 Dataproc 的一些主要特点和最佳实践: 特点 托管服务:Dataproc 是一个完全托管的服务,用户无需管理基础设施&…

sunshine和moonlight串流网络丢失帧高的问题(局域网)

注:此贴结果仅供参考 场景环境:单身公寓 路由器:2016年的路由器 开始:电脑安装sunshine软件,手机安装moonlight软件开始串流发现网络丢失帧发现巨高 一开始怀疑就是路由器问题,因为是局域网,而…

STL容器1

STL容器1 1.1 vector1.2 set1.3 map 1.1 vector vector的优点: 1.动态大小调整‌:vector可以根据需要动态地调整大小,自动分配和释放内存,确保在添加或删除元素时实现高效的内存管理‌ 2.连续存储‌:vector的元素在内存…

第六届国际科技创新学术交流大会暨新能源科学与电力工程国际(NESEE 2024)

重要信息 会议官网:nesee.iaecst.org 会议时间:2024年12月6-8日 会议地点: 中国-广州(越秀国际会议中心) 大会简介 新能源科学与电力工程国际学术会议(NESEE 2024)作为第六届国际科技创新学术交流大会分…

RL78/G15 Fast Prototyping Board Arduino IDE 平台开发过程

这是一篇基于RL78/G15 Fast Prototyping Board的Arduino IDE开发记录 RL78/G15 Fast Prototyping Board硬件简介(背景)基础测试(方法说明/操作说明)开发环境搭建(方法说明/操作说明代码结果)Arduino IDE RL…

visionpro实践项目(一)

1.需求:测量零件的宽度。 2.解决思路:使用模板匹配工具先匹配到零件,使用卡尺工具测量宽度,使用标签工具显示宽度信息。 3.步骤: 导入CogPMAlignTool工具,训练模板,实现模板匹配功能。 导入卡…

Scala习题

姓名,语文,数学,英语 张伟,87,92,88 李娜,90,85,95 王强,78,90,82 赵敏,92,88,91 孙涛&#xff0c…