浅谈Spark框架与不同机器学习算法的使用

(整期优先)网络出版时间:2022-04-19
/ 2

浅谈 Spark框架与不同机器学习算法的使用

陆薪宇 申涛涛

山东英才学院 250104

摘要:传感器、卫星、移动设备、社交媒体、电子商务和互联网等,让我们充满了数据。特别是物联网,可以更快地生成大量数据。物联网是一个术语,描述了将计算机、智能设备和其他数据生成设备连接到网络并传输数据的过程。因此,数据会定期生成和更新,以反映所有领域和活动的变化。由于数据呈指数级增长,一个新的术语和概念被称为大数据。需要大数据来阐明事物之间的关系,预测未来趋势,并为决策者提供更多信息。然而,目前的主要问题,是如何有效地收集和评估大量多样而复杂的数据。在某些领域或应用中,机器学习模型是解释和分析数据以及获取重要信息的最常用方法,传统的机器学习方法本身无法成功处理大数据问题。

关键词:Spark框架;机器学习;算法

前言:本文介绍了Spark架构作为一个平台,机器学习方法可以利用它来解决有关大数据系统设计和执行的问题。本文重点介绍三种机器学习类型,包括回归、分类和聚类,以及如何将它们应用于Spark平台之上。机器学习模型是解释和分析数据以及获取重要信息最常用的方法。传统的机器学习方法本身无法成功处理大数据问题。本文介绍了Spark架构作为一个平台,机器学习方法可以利用它来解决有关大数据系统设计和执行的问题。

Spark框架与不同机器学习算法的使用分析

2021年,Statista预测将产生74ZB的数据。据IDC预测,到2025年,全球数据总量将超过175ZB,复合年增长率为61%。大数据分析是分析大量数据以发现隐藏的模式和关系的过程,大数据研究处于当前研究和行业的前沿。在线交易、电子邮件、视频、音频文件、图片、点击流、日志、帖子、网络搜索、医疗记录、社交网络活动、科学数据、传感器和手机及其应用程序都有助于创建这些数据。它们存储在规模和复杂性快速增长的数据库中,使得使用传统的数据库软件工具难以收集、构建、存储、管理、分发、分析和显示它们。研究人员、企业和个人以多种方式定义了大数据,大数据最常见的定义是Velocity、Volume和Variety。

ApacheSpark是一种大规模并行内存处理解决方案,支持批处理和流数据处理。ApacheSpark的主要目标是使用内存计算来加速批处理数据。对于内存分析,Spark有可能比HadoopMapReduce框架快100倍。ApacheSpark的核心引擎提供具有内存功能的基础集群计算,例如故障恢复、内存管理、作业调度以及与数据库的通信。Spark应用程序由五个主要组件组成:工作节点、集群管理器、任务、驱动程序和执行程序进程。在集群上,Spark应用程序作为由SparkContext对象控制的一组单独的进程工作。该对象是Spark入口点,它是在驱动程序应用程序中生成的,这是Spark的主要用途。在集群模式下,SparkContext可能会与多个集群管理器交互,以确保应用程序有足够的资源,YARN、Mesos或Spark独立集群可用作集群管理系统[1]

为了实现数据算法的高速可扩展性,Spark引擎为编程中使用的主要数据抽象提供了API,例如弹性分布式数据集(RDD)。RDD提供数据分析活动,例如数据的转换和操作,可以通过使用额外的Spark库和工具来利用这些活动。Spark的基本数据抽象是RDD。它有一个分布式的不可变对象集合,可以并行运行。因为RDD是不可变的,一旦创建就不能改变,所以它是健壮的。由于它通过集群中的许多计算节点传输,因此一个RDD是分布式的。然后每个RDD被分成许多部分,每个部分都可以在一个单独的节点上计算,这意味着划分越多,并行性就越高。

机器学习是一个快速增长的计算机方法领域。它们旨在从环境中吸收知识以模仿人类智能。机器学习已被用于广泛的领域,包括计算机视觉、娱乐和生物学。机器学习算法是一种使用输入数据执行任务的计算机软件,机器学习的目标是模仿人们如何学习理解感官(输入)数据以完成工作。

根据商业分析的新要求和所有智能设备、传感器、卫星、社交媒体和其他来源产生的海量数据,以及各种多学科科学的新发现,目前采用的独立数据处理方法,例如机器学习算法,在满足这些需求方面面临着众多挑战。所有这些问题都可以用一个称为大数据的短语或一组属性(例如数量、速度和多样性)来概括。所有这些问题都会影响机器学习应对大数据新时代的能力。已经开发了许多平台来解决这些问题,包括Hadoop和Spark。我们在本文中将Spark框架作为使用机器学习方法解决大数据问题最适用的解决方案之一。

二、Spark框架算法使用方法解析

SARS-CoV-2(COVID-19)在全球迅速传播,最终导致全球流行。它对公共健康产生了令人衰弱的影响。因此,在可行的情况下尽快确定阳性实例以迅速治疗受影响的个体至关重要。胸部计算机断层扫描(CT)是2019-nCoV急性呼吸道疾病的诊断工具之一。先进的深度学习方法结合放射成像可能有助于准确识别新型冠状病毒。此外,它可能有助于克服由于偏远地区缺乏医疗专业知识和专科医生而造成的艰难环境。这项研究展示了如何使用ApacheSpark和KerasTensorFlow结合逻辑回归方法自动识别胸部CT扫描中的COVID-19,利用卷积神经网络(CNN)模型VGG16、VGG19和Xception。该模型正确分类了VGG16、VGG19和Xception,准确率分别为85.64、84.25和82.87%。这种方法使医生能够在胸部CT扫描中准确确定是否存在COVID-19,使医疗专业人员能够利用其复杂的功能作为医学成像的诊断方法。

数据安全是指保护数据免受安全漏洞和黑客攻击的过程。入侵检测程序是一个软件框架,它持续监控和分析网络数据以发现使用常规方法的攻击。这些传统的渗透方法在处理少量数据时非常有效[2]。然而,当同样的方法应用于大数据时,评估数据特征的过程变得效率低下,需要使用Hadoop、ApacheSpark、Flink等大数据平台来构建当代入侵检测系统(IDS)。本研究描述了ApacheSpark的架构和基于分类算法的IDS,以及使用卡方从网络安全事件数据中挑选特征的技术。SGD用于评估Logistic回归、决策树和SVM在创建基于ApacheSpark的IDS时的性能,使用AUROC和AUPR作为指标。此外,每种方法的训练和测试时间都是通过使用NSL-KDD数据集的所有实验设置的。数据集由文件KDDTrain+.txt和KDDTest+.txt组成。该数据集包含125,973个训练和22,544个测试实例,并且使用了训练和测试文件中的所有实例。该类有41个特征和一个标签。数据集由文件KDDTrain+.txt和KDDTest+.txt组成。该数据集包含125,973个训练和22,544个测试实例,并且使用了训练和测试文件中的所有实例。该类有41个特征和一个标签。数据集由文件KDDTrain+.txt和KDDTest+.txt组成。该数据集包含125,973个训练和22,544个测试实例,并且使用了训练和测试文件中的所有实例。

各种算法的性能和准确性由IDS在分析庞大数据集的大数据平台中确定和利用。为了确定数据是正常的还是被操纵的,决策树、SVM和逻辑回归被采用。结果表明,决策树实现了更高水平的准确性,逻辑回归所需的时间比其他方法更少。随着集成到移动设备中的传感器的发展,对日常人类行为的分析变得更加容易和广泛。通过深入研究复杂的人类行为,已经创建了许多应用程序,例如健康分析、健身监测和用户自适应系统。本研究的目的是提供一个使用ApacheSpark平台进行大数据处理技术来监控和识别老年人活动的系统。为了在建议的框架中识别人类行为,使用了多种分类方法,例如随机森林分类器、决策树和逻辑回归,以及来自ApacheSpark的ML机器学习包。两个著名的数据集WISDM、智能手机加速度计和KAGGLE-UCI,用于验证建议系统的输出。用于识别人类活动的基于分类的方法的性能根据准确性、F1分数、训练时间和测试时间进行评估。

在测试中,我们发现70-30的分频比,将70%的数据分配给训练阶段,30%分配给测试阶段,是处理一系列数据的最方便的配置。因此,这可以防止数据集上的过度训练问题,同时仍然确保它经过充分的训练以用于测试目的。结果的检查表明,在F1分数和准确性方面,具有交叉折叠验证的逻辑回归优于其他方法。当根据来自人类活动识别加速度计传感器的WISDM时间序列数据对其进行评估时,获得了72.10%的准确度。根据来自KAGGLE-UCI人类活动识别加速度计传感器的时间序列数据进行评估时,它实现了91.02%的最大准确率。

  1. 结束语

本文对Spark框架与机器学习方法的结合使用进行了彻底的检查。本次审查的目的是展示将​​Spark(最有效的分布式系统框架之一)与机器学习方法相结合以适应大数据系统要求的价值。共有三种机器学习技术:有监督机器学习回归、有监督机器学习分类和无监督机器学习聚类,所有这些技术都在各个领域与Spark框架一起使用。

参考文献:

  1. 孙科. 基于Spark的机器学习应用框架研究与实现[D]. 上海交通大学.

  2. 尹绪森. Spark与MLlib:当机器学习遇见分布式系统[J]. 程序员, 2014, 000(007):112-115.