独家 | 手把手教你做数据挖掘 !(附教程数据源)

2024-04-13 23:08

本文主要是介绍独家 | 手把手教你做数据挖掘 !(附教程数据源),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=png

作者:宋莹

本文长度为10427字,建议阅读20+分钟

本文为你介绍数据挖掘的知识及应用。


引言

最近笔者学到了一个新词,叫做“认知折叠”。就是将复杂的事物包装成最简单的样子,让大家不用关心里面的细节就能方便使用。作为数据科学领域从业者,我们所做的事情就是用数学模型来解决实际的商业决策问题,最后包装成客户能看懂的简单图表。

笔者利用碎片化时间对“数据挖掘”这一领域知识进行了“折叠”。希望在这个碎片化的时代,对数据科学领域感兴趣的读者能够用最少的时间来学习最精华的东西。

640?wx_fmt=png

图一:数据挖掘思维导图

一、什么是数据挖掘

简单地说,数据挖掘是指从大量数据中提取或“挖掘”知识,也叫做数据中的知识发现。

二、为什么需要数据挖掘

随着互联网工具的发展,分享和协作的成本大大降低。我们每天用手机聊天、购物、刷短视频、看新闻等日常的不经意动作给互联网行业提供了体量庞大的数据。这些数据通常被收集、存放在大型数据存储库中,没有强有力的工具,理解它们已经远远超出了我们的能力。而数据挖掘技术的出现解决了这一问题。它可以从海量的数据中提取出有价值的信息,从而作为决策的重要依据。

三、演化过程

柏拉图曾说过“需要是发明之母”,每一项新技术的诞生都是顺应了这个时代的发展。数据挖掘”也是信息技术自然演化的结果。如下表格展示了该演化过程。

640?wx_fmt=png


四、数据挖掘的具体步骤

许多人把数据挖掘视为“数据中的知识发现”,以下是其具体的步骤:

  • 数据清理(消除噪声和不一致数据)

  • 数据集成(不同来源与格式的数据组合到一起)

  • 数据选择(挖掘所需的数据)

  • 数据变换(数据变换成适合挖掘的形式,如汇总,聚集操作)

  • 数据挖掘(方法,建模)

  • 模式评估(结果模型)

  • 知识表示(可视化)


五、数据挖掘的系统结构

640?wx_fmt=png

图二:数据挖掘系统结构图

六、对何种数据进行挖掘

原则上讲,数据挖掘可以应用于任何类型的信息存储库及瞬态数据(如数据流),如数据库、数据仓库、数据集市、事务数据库、空间数据库(如地图等)、工程设计数据(如建筑设计等)、多媒体数据(文本、图像、视频、音频)、网络、数据流、时间序列数据库等。

七、挖掘任务

数据挖掘功能用于指定数据挖掘任务要找的模型类型。一般而言,数据挖掘任务可以分为两类:描述和预测。描述性挖掘任务描述数据库中数据的一般性质。预测性挖掘任务对当前数据进行推断,以做出预测。其中描述类任务包含:特征化和区分等。

针对“特征化”,我们来举一个简单的例子:数据挖掘系统应当能够产生数据挖掘工程师特征的汇总描述,作为对该职位招聘的依据。结果可能是符合该职位的一般轮廓,如计算机相关专业、熟悉常用的数据挖掘算法、会使用统计分析工具、大数据开发经验等。那么,什么又是“区分”呢?继续之前的例子,数据挖掘系统应当能够描述出优秀数据挖掘工程师与一般数据挖掘工程师的轮廓。

优秀的数据挖掘工程师: 超强的讲故事的能力、逻辑思维强、终身学习、喜欢用数学模型解决实际的问题。一般的数据挖掘工程师:了解常用数据挖掘算法、对工作能够积极完成、对挖掘结果无法清晰描述给相关人、不会主动学习该行业知识、从事此行业只是为了赚钱。这两个轮廓将作为我们评判优劣的依据。预测类任务为:关联分析、分类和预测、聚类分析、孤立点分析和趋势和演变分析等。下面章节的实例将介绍其中某些预测类模型。在这里就不再赘述。

八、挖掘什么模式的数据

1.易于理解的。
2. 在某种程度上,对于新的或检验数据是有效的。
3. 潜在有用的。
4. 新颖的。
5. 客观度量(支持度,置信度)。
6. 用户想要了解的,对用户有价值的。

九、数据挖掘的局限性

数据科学家吴军老师在《数学之美》一书中强调数学之所以美,是因为数学的简单性。我们的计算机基础就是布尔代数,其运算元素只由0,1组成。虽然数学如此简单,但其在各个领域的作用却不容忽视。它可以帮助我们发现仅凭经验无法发现的规律,找到仅凭经验无法总结出来的办法。因此在这个大数据时代,以数学为基础的数据挖掘领域常常会被大家神话。

认为现在的数据体量足够大,支持的异构数据种类越来越多,信息的数据化程度越来越完善,分布式的框架也给大数据的深度挖掘提供了有力支持,数据挖掘结果也就会越来越精准。其实不然,虽然这些有力条件提高了数据预测能力,但是毕竟还有很多事物暂时还无法数据化。比如人的思维,同时还有互联网没有采集到的人们的日常活动等。这些未被采集的信息,会导致我们挖掘的结果有偏差,甚至完全不可用。并且单一化的数学工具挖掘出的结果通常都比较片面。因此就需要我们建立多元化思维,在进行挖掘的时候要按照“T”型结构。

所谓“T”型结构就是利用现如今的有利条件进行纵向深度挖掘,同时也要横向扩展多学科知识。未来的数据挖掘领域,绝不是单一的数学一门单一学科就能搞定,而是多学科结合,综合考虑得出结论。

十、数据挖掘实例

1.准备工作

为了让大家更直观的了解数据挖掘的整个流程,我将该实例中需要用到的软件,以及如何安装、配置的过程整理出来,作为实例开始前的准备工作。我选取的是数据挖掘工具Rapidminer。之所以选择此工具,是由于它的便捷性,用拖拽的方式就可以进行分析挖掘,而本篇文章的侧重点是想展示数据挖掘的整个流程。这个工具无疑是最好的选择。

  • 1.1Rapidminer工具简介

Rapidminer是一款预测性分析和数据挖掘软件。它的特点是拖拽操作,无需编程,运算速度快,有开源版和商业版。它具有丰富数据挖掘分析和算法功能。常用于解决各种的商业关键问题。如营销响应率、客户细分、客户忠诚度及终身价值、资产维护、资源规划、预测性维修、质量管理、社交媒体监测和情感分析等典型商业案例。解决方案覆盖了各个领域,包括汽车、银行、保险、生命科学、制造业、石油和天然气、零售业及快消行业、通讯业、以及公用事业等各个行业。

编程:
https://baike.baidu.com/item/%E7%BC%96%E7%A8%8B

  • 1.2Rapidminer安装

我们需要登录rapidminer的官网来下载这个数据挖掘工具,如下是该网址: https://rapidminer.com/get-started/

登录后我们会看见如下所示的下载界面,在此页面上填写个人邮箱信息等信息,然后点击download按钮。

640?wx_fmt=png

图三:rapidminer下载界面

在downloads页面,选择适合自己操作系统的安装包即可下载。下载后直接点击安装即可。

640?wx_fmt=png

图四:不同操作系统的不同安装包

  • 1.3Rapidminer配置

rapidminer软件安装成功后,点击桌面的软件图标,即可打开该软件,由于我们的实例要进行数据库的读写操作。因此,我们需要创建一个数据库连接,笔者提前在电脑上安装了mysql数据库,数据库的安装过程超出了此文章的范围,读者需要提前安装一个数据库,不限于mysql。

如下所示,我们在界面左侧的数据库连接处进行数据库连接的创建。并填写数据库信息,最后进行连接测试,当像图七一样显示“Test successful”时,说明已经配置好了。

640?wx_fmt=png

图五:创建数据库链接

640?wx_fmt=png

图六:数据库连接名


640?wx_fmt=png

图七:数据库信息

2.

这篇关于独家 | 手把手教你做数据挖掘 !(附教程数据源)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/901469

相关文章

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

Linux下MySQL8.0.26安装教程

《Linux下MySQL8.0.26安装教程》文章详细介绍了如何在Linux系统上安装和配置MySQL,包括下载、解压、安装依赖、启动服务、获取默认密码、设置密码、支持远程登录以及创建表,感兴趣的朋友... 目录1.找到官网下载位置1.访问mysql存档2.下载社区版3.百度网盘中2.linux安装配置1.

Python使用pysmb库访问Windows共享文件夹的详细教程

《Python使用pysmb库访问Windows共享文件夹的详细教程》本教程旨在帮助您使用pysmb库,通过SMB(ServerMessageBlock)协议,轻松连接到Windows共享文件夹,并列... 目录前置条件步骤一:导入必要的模块步骤二:配置连接参数步骤三:实例化SMB连接对象并尝试连接步骤四:

Linux使用粘滞位 (t-bit)共享文件的方法教程

《Linux使用粘滞位(t-bit)共享文件的方法教程》在Linux系统中,共享文件是日常管理和协作中的常见任务,而粘滞位(StickyBit或t-bit)是实现共享目录安全性的重要工具之一,本文将... 目录文件共享的常见场景基础概念linux 文件权限粘滞位 (Sticky Bit)设置共享目录并配置粘

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin