【大数据分析与挖掘技术】概述

目录

一、数据挖掘简介

(一)数据挖掘对象

(二)数据挖掘流程

(三)数据挖掘的分析方法

(四)经典算法

二、Mahout

(一)Mahout简介

(二)主要特性

(三)Mahout安装与配置


一、数据挖掘简介

        需要是发明之母。近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。数据挖掘是人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化地分析企业的数据,作出归纳性的推理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,作出正确的决策。

        数据挖掘也称为知识发现,是目前数据科学领域的热点研究课题。数据挖掘,就是从海量数据中发现隐含的、不平凡的、具有价值的规律或模式。在人工智能、机器学习、模式识别、数据库管理和图像处理等专业领域,数据挖掘技术都是必不可少的技术支持。

        基于对数据的分析,可以对数据之间的关联进行抽取和调整,构建合理的模型来提供决策支持。相比其他领域,数据挖掘在商业上的应用更易于理解,通过企业大量的数据,获取其内含的规律,从而将其模型化并应用于实际场景,使企业获得更高的利润和关注度。

(一)数据挖掘对象

        数据的类型可以是结构化的、半结构化的,甚至是异构型的。发现知识的方法可以是数学的、非数学的,也可以是归纳的。最终被发现了的知识可以用于信息管理、查询优化、决策支持及数据自身的维护等。
        数据挖掘的对象可以是任何类型的数据源。可以是关系数据库,此类包含结构化数据的数据源;也可以是数据仓库、文本、多媒体数据、空间数据、时序数据、Web数据,此类包含半结构化数据甚至异构性数据的数据源。
        发现知识的方法可以是数字的、非数字的,也可以是归纳的。最终被发现的知识可以用于信息管理、查询优化、决策支持及数据自身的维护等。

(二)数据挖掘流程

        在实施数据挖掘之前,先制定采取什么样的步骤,每一步都做什么,达到什么样的目标是必要的,有了好的计划才能保证数据挖掘有条不紊地实施并取得成功。很多软件供应商和数据挖掘顾问公司投提供了一些数据挖掘过程模型,来指导他们的用户一步步地进行数据挖掘工作。比如,SPSS公司的5A和SAS公司的SEMMA。
        数据挖掘过程模型步骤主要包括定义问题、建立数据挖掘库、分析数据、准备数据、建立模型、评价模型和实施。下面让我们来具体看一下每个步骤的具体内容:

1、定义问题
        在开始知识发现之前最先的也是最重要的要求就是了解数据和业务问题。必须要对目标有一个清晰明确的定义,即决定到底想干什么。比如,想提高电子信箱的利用率时,想做的可能是“提高用户使用率”,也可能是“提高一次用户使用的价值”,要解决这两个问题而建立的模型几乎是完全不同的,必须做出决定。

2、建立数据挖掘库
        建立数据挖掘库包括以下几个步骤:数据收集,数据描述,选择,数据质量评估和数据清理,合并与整合,构建元数据,加载数据挖掘库,维护数据挖掘库。

3、分析数据
        分析的目的是找到对预测输出影响最大的数据字段,和决定是否需要定义导出字段。如果数据集包含成百上千的字段,那么浏览分析这些数据将是一件非常耗时和累人的事情,这时需要选择一个具有好的界面和功能强大的工具软件来协助你完成这些事情。

4、准备数据
        这是建立模型之前的最后一步数据准备工作。可以把此步骤分为四个部分:选择变量,选择记录,创建新变量,转换变量。

5、建立模型
        建立模型是一个反复的过程。需要仔细考察不同的模型以判断哪个模型对面对的商业问题最有用。先用一部分数据建立模型,然后再用剩下的数据来测试和验证这个得到的模型。有时还有第三个数据集,称为验证集,因为测试集可能受模型的特性的影响,这时需要一个独立的数据集来验证模型的准确性。训练和测试数据挖掘模型需要把数据至少分成两个部分,一个用于模型训练,另一个用于模型测试。

6、评价模型
        模型建立好之后,必须评价得到的结果、解释模型的价值。从测试集中得到的准确率只对用于建立模型的数据有意义。在实际应用中,需要进一步了解错误的类型和由此带来的相关费用的多少。经验证明,有效的模型并不一定是正确的模型。造成这一点的直接原因就是模型建立中隐含的各种假定,因此,直接在现实世界中测试模型很重要。先在小范围内应用,取得测试数据,觉得满意之后再向大范围推广。

7、实施
        模型建立并经验证之后,可以有两种主要的使用方法。第一种是提供给分析人员做参考;另一种是把此模型应用到不同的数据集上。

(三)数据挖掘的分析方法

1、分类分析:分类是指按照某种分类模型将具有相同特征的数据对象划分为同一类。

2、聚类分析:聚类分析是一种创建数据对象集合的方法,这种数据集合也称为簇(Cluster),聚类分析力求使得同簇成员尽可能相似,异簇成员尽可能相异。

3、关联分析:关联分析是指找出多个事物之间具有的规律性(关联),这一概念最早是由Rakesh Apwal等人提出的。

4、时序模式分析:时序模式分析反映的是属性在时间上的特征,属性在时间维度上如何变化,时序模式分析试图在这些历史数据中找到重复概率较高的模式,从而可以利用已知的数据预测未来的值,主要应用在产品生命周期预测,寻求客户等方面。

5、偏差分析:偏差分析是指关注数据库中的异常点,因为对管理者来说,这些异常点往往是更需要给予关注的。

(四)经典算法

        目前,数据挖掘的算法主要包括神经网络法、决策树法、遗传算法、粗糙集法、模糊集法、关联规则法等。

1、神经网络法
        神经网络法是模拟生物神经系统的结构和功能,是一种通过训练来学习的非线性预测模型,它将每一个连接看作一个处理单元,试图模拟人脑神经元的功能,可完成分类、聚类、特征挖掘等多种数据挖掘任务。神经网络的学习方法主要表现在权值的修改上。其优点是具有抗干扰、非线性学习、联想记忆功能,对复杂情况能得到精确的预测结果;缺点首先是不适合处理高维变量,不能观察中间的学习过程,具有“黑箱”性,输出结果也难以解释;其次是需较长的学习时间。神经网络法主要应用于数据挖掘的聚类技术中。

2、决策树法
        决策树是根据对目标变量产生效用的不同而建构分类的规则,通过一系列的规则对数据进行分类的过程,其表现形式是类似于树形结构的流程图。最典型的算法是J.R.Quinlan于1986年提出的ID3算法,之后在ID3算法的基础上又提出了极其流行的C4.5算法。采用决策树法的优点是决策制定的过程是可见的,不需要长时间构造过程、描述简单,易于理解,分类速度快;缺点是很难基于多个变量组合发现规则。决策树法擅长处理非数值型数据,而且特别适合大规模的数据处理。决策树提供了一种展示类似在什么条件下会得到什么值这类规则的方法。比如,在贷款申请中,要对申请的风险大小做出判断。

3、遗传算法
        遗传算法模拟了自然选择和遗传中发生的繁殖、交配和基因突变现象,是一种采用遗传结合、遗传交叉变异及自然选择等操作来生成实现规则的、基于进化理论的机器学习方法。它的基本观点是“适者生存”原理,具有隐含并行性、易于和其他模型结合等性质。主要的优点是可以处理许多数据类型,同时可以并行处理各种数据;缺点是需要的参数太多,编码困难,一般计算量比较大。遗传算法常用于优化神经元网络,能够解决其他技术难以解决的问题。

4、粗糙集法
        粗糙集法也称粗糙集理论,是由波兰数学家Z Pawlak在20世纪80年代初提出的,是一种新的处理含糊、不精确、不完备问题的数学工具,可以处理数据约简、数据相关性发现、数据意义的评估等问题。其优点是算法简单,在其处理过程中可以不需要关于数据的先验知识,可以自动找出问题的内在规律;缺点是难以直接处理连续的属性,须先进行属性的离散化。因此,连续属性的离散化问题是制约粗糙集理论实用化的难点。粗糙集理论主要应用于近似推理、数字逻辑分析和化简、建立预测模型等问题。 

5、模糊集法
        模糊集法是利用模糊集合理论对问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。模糊集合理论是用隶属度来描述模糊事物的属性。系统的复杂性越高,模糊性就越强。

6、关联规则法
        关联规则反映了事物之间的相互依赖性或关联性。其最著名的算法是R.Agrawal等人提出的Apriori算法。其算法的思想是:首先找出频繁性至少和预定意义的最小支持度一样的所有频集,然后由频集产生强关联规则。最小支持度和最小可信度是为了发现有意义的关联规则给定的2个阈值。在这个意义上,数据挖掘的目的就是从源数据库中挖掘出满足最小支持度和最小可信度的关联规则。

二、Mahout

(一)Mahout简介

        Mahout是Apache公司的开源机器学习软件库,其实现了机器学习领域的诸多经典算法,例如,推荐算法、聚类算法和分类算法。Mahout可以让开发人员更方便快捷地创建智能应用程序,另外,Mahout通过应用Hadoop库可以有效利用分布式系统进行大数据分析,大大减少了大数据背景下数据分析的难度。

        目前Mahout着力与三个领域——推荐(协同过滤)、聚类、分类算法的实现上,尽管理论上它可以实现机器学习中的所有技术! 

(二)主要特性

虽然在开源领域中相对较为年轻,但 Mahout 已经提供了大量功能,特别是在集群和 CF 方面。

Mahout 的主要特性包括:
(1)Taste CF。Taste 是 Sean Owen 在 SourceForge 上发起的一个针对 CF 的开源项目,并在 2008 年被赠予 Mahout。
(2)一些支持 Map-Reduce 的集群实现包括 k-Means、模糊 k-Means、Canopy、Dirichlet 和 Mean-Shift。
(3)Distributed Naive Bayes 和 Complementary Naive Bayes 分类实现。
(4)针对进化编程的分布式适用性功能。
(5)Matrix 和矢量库。

(三)Mahout安装与配置

        Mahout 上所有的机器学习算法是基于Java实现的,Mahout并没有提供用户接口与预装服务器或安装程序,这使得开发者拥有更加灵活自由的配置框架。为了让使用本书的读者能够方便地运行后文的例程,需要进行一些必要的系统搭建和安装工作。

(1)安装JDK+IDEA集成开发环境;
(2)安装配置maven;
(3)安装配置Mahout;
(4)安装配置Hadoop伪分布式环境。

下面我们将对安装过程进行简要的介绍。

        第一步,在Linux环境下进行Mahout程序编写首先要要进行Java环境的搭建,在这里使用Oracle 版本的JDK1.8开发工具,基于Java8的新特性可以使Java代码更加简洁和高效。JDK在不断地更新,到目前为止,最新版本是Java SE9(JDK1.9.0)。以IntelliJ IDEA为例介绍Mahout 开发环境的配置,当然也可以使用Eclipse或Netbeans等进行操作,配置方式也略有差异。 IntelliJ IDEA在智能代码助手、代码自动提示、重构、J2EE支持、Ant、 JUnit、 Cvs整合、代码审查、创新的GUI设计等方面的性能十分优异。它是JetBrains公司的产品,下面介绍Linux环境下JDK的配置以及可视化Java开发环境配置。

        首先,查看和卸载Linux自带的OpenJDK,打开控制台窗口,使用命令“java-version”可以查看当前系统上JDK版本,如果显示下面的结果或类似结果: 

openjdk version"1.8.0_131" 
OpenJDK Runtime Environment (build 1.8.0131-b12) 
OpenJDK 64-Bit Server VM(build 25.131-b12, mixed mode)

出现以上提示,则表明系统已经安装了OpenJDK,需要先卸载它然后再安装SUN公司的JDK,使用如下命令可以删除OpenJDK: 

yum -y remove java java-1.8.0-openjdk-headless.x86_64

若再次查询Java版本显示如下: 

bash:java:command not found.…

表明系统自带的OpenJDK已经卸载,下面开始安装Sun的JDK,首先需到Oracle官网下载适合系统版本的JDK,通过下面的命令安装Sun JDK(默认安装在/usr/java目录下):

rpm -ivh jdk-8u77-linux-x64.rpm

        然后,在/etc/profile文件末尾添加 Java环境变量:

vim  /etc/profile


export JAVA_HOME=/usr/java/1.8.0_151 
export CLASSPATH=.:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export PATH=.:$PATH:$JAVA_HOME/bin 

执行下面命令使修改生效: 

source /etc/profile 

然后通过 java-version 命令查看,若显示如下结果:

java version "1.8.0_151" 
Java (TM) SE Runtime Environment (build 1.8.0_151-b12) 
Java HotSpot (TM) 64-Bit Server VM (build 25.151-b12, mixed mode) 

表明JDK 已经配置完毕,然后安装可视化编程工具就可以很轻松的在Linux 上进行Java编程了。在这里我们使用IDEA集成开发环境,它可以很方便地进行组件安装,而且集成maven依赖,可以很快从现有的maven模型中创建一个新的项目。IDEA的安装过程非常简单,到 jetbrains 网站下载对应版本的文件,然后将其解压。再进入到解压后文件夹的bin目录下执行命令: 

./idea.sh 

执行命令后会自动安装可视化界面,选择需要的组件即可。

        完成前两步后,还需要配置一些环境,以便运行Mahout 代码。首先,在本地安装一个伪分布式Hadoop,并下载最新的Mahout。最新版的Mahout可到Apache的官网上进行下载,下载后解压配置环境变量即可。

开发Mahout程序步骤如下:

(1)使用 IDEA 新建 maven 标准 Java 程序;
(2)进入File→Project Structure→Project Settings→Libraries,单击加号→Java;
(3)选中自己安装的 Mahout 文件夹,全部导入即可;
(4)导入后,就可以在 Java 代码中使用 Mahout 类库中的类了。

有关Mahout的机器学习的三大领域将在后面的博客中介绍……

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CVE-2023-46226 Apache iotdb远程代码执行漏洞

项目介绍 Apache IoTDB 是针对时间序列数据收集、存储与分析一体化的数据管理引擎。它具有体量轻、性能高、易使用的特点,完美对接 Hadoop 与 Spark 生态,适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求。 项目地址 https://io…

【INTEL(ALTERA)】F-tile 参考时钟和系统 PLL 时钟英特尔® FPGA IP无法锁定在特定频率?

说明 由于在英特尔 Quartus Prime Pro Edition 软件 22.2 及更早版本中存在一个问题,您可能会观察到 F-tile 参考时钟和系统 PLL 时钟英特尔 FPGA IP无法锁定: 999.9 MHz,参考时钟频率设置为 323.2 MHz。506.88 MHz,参考时钟频率…

Windows系统使用手册

点击前往查看🔗我的博客文章目录 Windows系统使用手册 文章目录 Windows系统使用手册Windows10解决大小核调度问题Windows系统安装软件Windows系统Typora快捷键Windows系统压缩包方式安装redisWindows安装dockerWindows系统的docker设置阿里源Windows系统下使用doc…

Ubuntu系统pycharm以及annaconda的安装配置笔记以及问题集锦(更新中)

Ubuntu 22.04系统pycharm以及annaconda的安装配置笔记以及问题集锦 pycharm安装 安装完之后桌面上并没有生成图标 后面每次启动pycharm都要到它的安装路径下的bin文件夹下, cd Downloads/pycharm-2018.1.4/bin然后使用sh命令启动脚本程序来打开pycharm sh pycha…

01 MyBatisPlus快速入门

1. MyBatis-Plus快速入门 版本 3.5.31并非另起炉灶 , 而是MyBatis的增强 , 使用之前依然要导入MyBatis的依赖 , 且之前MyBatis的所有功能依然可以使用.局限性是仅限于单表操作, 对于多表仍需要手写 项目结构: 先导入依赖,比之前多了一个mybatis-plus…

动态规划汇总

作者推荐 视频算法专题 简介 动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的&#x…

《WebKit 技术内幕》之五(2): HTML解释器和DOM 模型

2.HTML 解释器 2.1 解释过程 HTML 解释器的工作就是将网络或者本地磁盘获取的 HTML 网页和资源从字节流解释成 DOM 树结构。 这一过程中,WebKit 内部对网页内容在各个阶段的结构表示。 WebKit 中这一过程如下:首先是字节流,经过解码之…

力扣每日一练(24-1-20)

大脑里的第一想法是排列组合,直接给出超级准确的最优解。 但不适用,hhh 只要连续的n个元素大于或者等于target就可以了 题目比自己想象的要好解决 解法是使用滑动窗口算法。这个算法的基本思想是维护一个窗口,使得窗口内的元素总和大于等于目…

消除游戏(寒假每日一题+模拟、优化)

题目 在一个字符串 S 中,如果 SiSi−1 且 Si≠Si1,则称 Si和 Si1 为边缘字符。 如果 Si≠Si−1 且 SiSi1,则 Si−1 和 Si 也称为边缘字符。 其它的字符都不是边缘字符。 对于一个给定的串 S,一次操作可以一次性删除该串中的所…

【c++笔记】用c++解决一系列质数问题!

质数是c语言和c中比较常见的数学问题,本篇文章将带你走进有关质数的一系列基础问题,其中包含常见的思路总结,本篇文章过后,将会持续更新c算法系列,感兴趣的话麻烦点个关注吧! 希望能给您带来帮助&#xff…

STM32标准库开发—MPU6050详细介绍

MPU6050简介 3轴IMU即只有3轴陀螺仪的IMU,其因为只有一个3轴陀螺仪,所以只能感知载体roll(滚转)、pitch(俯仰)、yawl(偏航)共3个自由度的姿态信息。 6轴IMU在3轴IMU的基础上加装了3轴…

【Python学习】Python学习21- 正则表达式(2)

目录 【Python学习】Python学习21- 正则表达式(2) 前言字符串检索和替换repl 参数是一个函数参考 文章所属专区 Python学习 前言 本章节主要说明Python的正则表达式。 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与…

嵌入式学习-网络编程-Day6

嵌入式学习-网络编程-Day6 一、思维导图 二、作业 1.基于UDP的网络聊天室(2024.1.21号前上交) 项目需求: 1.如果有用户登录,其他用户可以收到这个人的登录信息 2.如果有人发送信息,其他用户可以收到这个人的群聊信…

认识并使用Shiro技术

认识并使用Shiro 一、对Shiro的基本认知1、Shiro是什么?2、Shiro的核心组件是?2.1 Subject2.2 UsernamePasswordToken2.3 Realm(重点是:AuthorizingRealm用于授权、AuthenticatingRealm用于认证)2.4 SecurityManager2.…

C#操作pdf之使用itext实现01-生成一个简单的table

创建.net 8控制台项目 安装itext <PackageReference Include"itext" Version"8.0.2" /><PackageReference Include"itext.bouncy-castle-adapter" Version"8.0.2" /><PackageReference Include"itext.bouncy-cast…

LabVIEW电能质量监测系统

系统利用LabVIEW开发一个基于LabVIEW的电能质量监测系统&#xff0c;模拟并监测暂态电能质量扰动&#xff0c;如电压骤升、电压骤降、电压波动和暂态振荡等。系统的硬件部分包括高精度的振动传感器和信号调节设备&#xff0c;以及型号为NI9234的数据采集卡和高性能计算机。这些…

Sqoop故障排除指南:处理错误和问题

故障排除是每位数据工程师和分析师在使用Sqoop进行数据传输时都可能遇到的关键任务。Sqoop是一个功能强大的工具&#xff0c;但在实际使用中可能会出现各种错误和问题。本文将提供一个详尽的Sqoop故障排除指南&#xff0c;涵盖常见错误、问题和解决方法&#xff0c;并提供丰富的…

卡萨帝洗衣机:被模仿也是竞争力

如何用一句话形容某家企业的竞争力和领导地位&#xff1f;“某某一出手&#xff0c;就知有没有。”这句话相当匹配。如果再加一条&#xff0c;“被模仿”也恰到好处。 从顶流公司OpenAI&#xff0c;苹果Apple Vision Pro&#xff0c;再到卡萨帝洗衣机&#xff0c;被跟随、模仿…

Mac M1 Parallels CentOS7.9 Deploy Typecho

一、创建名称空间 kubectl create ns prod二、创建PV & PVC vim local-pv1.yamlapiVersion: v1 kind: PersistentVolume metadata:name: local-pv-1 spec:capacity:storage: 1GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: loca…

华为原生 HarmonyOS NEXT 鸿蒙操作系统星河版 发布!不依赖 Linux 内核

华为原生 HarmonyOS NEXT 鸿蒙操作系统星河版 发布&#xff01;不依赖 Linux 内核 发布会上&#xff0c;余承东宣布&#xff0c;HarmonyOS NEXT鸿蒙星河版面向开发者开放申请。 申请链接 鸿蒙星河版将实现原生精致、原生易用、原生流畅、原生安全、原生智能、原生互联6大极致原…
最新文章