数据挖掘算法_算法篇(01) 数据挖掘算法初探

前言

无论是传统行业,还是互联网行业。掌握数据,就是掌握规律。当你了解了市场数据,对它进行分析,就可以得到市场规律。当你掌握了产品自身的数据,对它进行分析,就可以了解产品的用户来源、用户画像等等。所以说数据是个全新的视角。

当我们谈论数据分析的时候,都在讲些什么呢?这里可以把数据分析分成三个重要的组成部分。

数据采集:它是我们的原材料,也是最“接地气”的部分,因为任何分析都要有数据源。

数据挖掘:它可以说是最“高大上”的部分,也是整个商业价值所在。之所以要进行数据分析,就是要找到其中的规律,来指导我们的业务。因此数据挖掘的核心是挖掘数据的商业价值,也就是我们所谈的商业智能 BI

数据可视化:它可以说是数据领域中万金油的技能,可以让我们直观地了解到数据分析的结果。

在这个专栏中,我们主要学习第二个部分:数据挖掘算法,一定程度上,也可以称为机器学习算法。

一、数据挖掘的基本流程

数据挖掘的过程可以分成以下 6 个步骤:

商业理解:数据挖掘不是我们的目的,我们的目的是更好地帮助业务,所以第一步我们要从商业的角度理解项目需求,在这个基础上,再对数据挖掘的目标进行定义。

数据理解:尝试收集部分数据,然后对数据进行探索,包括数据描述、数据质量验证等。这有助于你对收集的数据有个初步的认知。

数据准备:开始收集数据,并对数据进行清洗、数据集成等操作,完成数据挖掘前的准备工作。

模型建立:选择和应用各种数据挖掘模型,并进行优化,以便得到更好的分类结果。

模型评估:对模型进行评价,并检查构建模型的每个步骤,确认模型是否实现了预定的商业目标。

上线发布:模型的作用是从数据中找到金矿,也就是我们所说的“知识”,获得的知识需要转化成用户可以使用的方式,呈现的形式可以是一份报告,也可以是实现一个比较复杂的、可重复的数据挖掘过程。数据挖掘结果如果是日常运营的一部分,那么后续的监控和维护就会变得重要。

ae662c9d208e5966d217c45a59fdfc1a.png
简易版

二、算法分类

2.1 按照不同的目的,将常见的算法分成如下几类:

分类算法:k-近邻算法(KNN)、决策树(ID3,C4.5,CART)、朴素贝叶斯(Naive Bayes)、随机森林、逻辑回归、SVM、Adaboost、CART

回归算法:线性回归、岭回归

聚类算法:K-Means、EM

关联分析:Apriori

连接分析:PageRank

2.2 也可以分成:监督学习(supervised learning)无监督学习(unsupervised learning)

在具体介绍前,先简述一下数据集的构成,即:特征值 + 目标值;但有些数据集是可以没有目标值的。

根据有无目标值,就可以分为:监督学习与无监督学习。

监督学习,输入数据是由输入特征值和目标值所组成。输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称为分类)

分类:k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归 等;

回归:线性回归、岭回归 等;

无监督学习,输入数据仅是由特征值所组成;如:聚类 k-means 等。

三、特征工程

在正式介绍特征工程前,先来看看以下几个问题:

Q1:为什么需要特征工程(Feature Engineering)?

业界广泛流传,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

Q2:什么是特征工程?

特征工程,是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程Q3:特征工程的位置与数据比较

bc9bd36bdee67fdf3b2199d5cd7fe633.png
  • pandas:数据清洗、数据处理;
  • sklearn:对于特征的处理提供了强大的接口。

Q4:特征工程主要包含的内容

特征抽取特征预处理特征降维

在正式介绍特征工程之前,先来简单介绍下数据集:

3.1 可用数据集

Kaggle网址:https://www.kaggle.com/datasets

  • 特点:大数据竞赛平台、数据量巨大;

UCI数据集网址:http://archive.ics.uci.edu/ml/

  • 特点:收录了360个数据集,覆盖科学、生活、经济等领域,数据量几十万;

scikit-learn网址:https://scikit-learn.org/stable/datasets/index.html#datasets

  • 特点:数据量较小、方便学习;

......

3.1.1 Scikit-learn 工具介绍

Python语言的机器学习工具,包括许多知名的机器学习算法的实现,文档完善,容易上手,丰富的API。

# 安装包
pip install Scikit-learn

包含内容:

f3c5afd615bd56a98d67f6d81d232aa9.png

3.1.2 获取sklearn自带的数据集API

20959100f1142b2ced96ac54938af006.png

2e76e154a833e8bb705ed2afab57b07f.png

030c2f3b306eb9e13ade67cb6bd02052.png

3.1.3 划分数据集

数据集会划分为两个部分:

  • 训练数据:用于训练,构建模型;
  • 测试数据:在模型检验时使用,用于评估模型是否有效;

划分比例:测试集一般在20%-30%,不传参,默认25%

e98a92c85a9bcd68f5fc68594574f71a.png
API剖析

60bf2caa84f6a9fcae4aaf485076c58c.png
数据集划分案例

本篇,先写到这里吧!下一篇:特征工程介绍;

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

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

相关文章

java中怎么判断一段代码时线程安全还是非线程安全_24张图带你彻底理解Java中的21种锁...

(给ImportNew加星标,提高Java技能)转自:悟空聊架本篇主要内容如下:本篇文章已收纳到我的 Java 在线文档、 Github。我的 SpringCloud 实战项目持续更新中。帮你总结好的锁:序号锁名称应用1乐观锁CAS2悲观锁synchronized、vector、…

python大概学多久_自学Python要学多久可以学会?

如果是自学,从零基础开端学习python的话,按照每个人理解能力的不同,大致上需求半年到一年半左右的时刻,当然,如果有其它编程言语的经历,入门还是比较快的,大概需求2~3个月可以用Python言语编写一…

u盘 linux centos 5.3,鸟哥linux私房菜学习笔记,U盘安装centos5.3不能正常进入图形界面的问题...

前面说过自己成功引导了centos系统,现在进入启动界面,首次进入会进行相关设置,按照步骤一步一步完成,取消完光盘安装,点击下一步,就进入下面这个界面,没有登录框。。。没错!怎么蓝屏…

将excel转为python的字典_python读取excel表并把数据转存为字典

excel表如下:我们需要通过使用python的xlrd方法先读取excel,再遍历赋值给字典。代码如下: importxlrdclassRead_Ex():defread_excel(self):#打开excel表,填写路径 book xlrd.open_workbook("../Data/test.xlsx")#找到s…

micropython是啥 知乎_嵌入式开发必备调试工具:Micro-Lab

在工作中,以什么样的方式向领导汇报工作最直接高效呢?当然是图形界面!图形界面更好表达一个程序设计的逻辑思维,一目了然,本次介绍的Micro-Lab出自风媒电子-赵工之手。 1.什么是Micro-Lab? Micro-Lab可以称得上是迄今…

python面向对象三大基本特性_python面向对象之三大特性

继承 先看个简单的例子了解一下继承。class Animal: #父类 def __init__(self, name, age, department): self.namename self.ageage self.departmentdepartmentdefrunning(self):print(‘%s可以奔跑!‘%self.name)class Cat(Animal): #括号里放要继承的父类 def __…

python怎么调用列表_Python中列表的使用

python中的列表与java中的数组非常类似,但使用方法比java中数组简单很多,python中的数据类型不需要显示声明,但在使用时必须赋值,列表元素下标从0开始 初始化列表(初始化一个包含五个元素的列表和一个空列表&#xff0…

jquery find 找到frame select_简述jQuery

jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。一、获取元素jQuery的核心设计思想就是获取元素,然后对其操作;因此…

求中位数中回文数之和C语言,一些算法题及答案

1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums [2, 7, 11, 1…

自然哲学的数学原理_物理起源点,牛顿《自然哲学的数学原理》

1687年 英国艾萨克牛顿(Sir Isaac Newton,1643—1727),英国物理学家、数学家、天文学家、自然哲学家和炼金术士。1687年他发表《自然哲学的数 学原理》,阐述了万有引力和三大运动定律,奠定了此后三个世纪里力学和天文学的基础&…

如何将另外一个表里的数据与联动_跨境电商(亚马逊)后台财务数据包

亚马逊后台的财务数据包是刚进这个行业的财务人员最希望能了解熟悉的,这块也是相对于国内财务比较有难度的内容,主要难点是亚马逊平台是新的东西,国内财务对规则,费用内容,流程都比较懵,另外就是各项资料都…

无法在源表中获得一组稳定的行_行输出变压器的结构、符号及电路分析

行输出变压器又称逆程变压器、回扫变压器,俗称行输出,它是电视机、显示器中的一个重要变压器。1.行输出变压器结构行输出变压器的全部绕组和高压整流管均密封在其中,底部引出各个绕组的引脚,高压输出采用高压引线直接送至显像管的…

pid调节软件_非常实用的PID算法和PID控制原理

点击箭头处“工业之家”,选择“关注公众号”!PID控制原理和特点工程实际中,应用最为广泛调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单…

对pca降维后的手写体数字图片数据分类_【AI白身境】深度学习中的数据可视化...

今天是新专栏《AI白身境》的第八篇,所谓白身,就是什么都不会,还没有进入角色。上一节我们已经讲述了如何用爬虫爬取数据,那爬取完数据之后就应该是进行处理了,一个很常用的手段是数据可视化。通过数据可视化&#xff0…

android实现箭头流程列表_反思|Android 列表分页组件Paging的设计与实现:系统概述...

作者:却把清梅嗅链接:https://github.com/qingmei2/blogs/issues/30前言本文将对Paging分页组件的设计和实现进行一个系统整体的概述,强烈建议 读者将本文作为学习Paging 阅读优先级最高的文章,所有其它的Paging中文博客阅读优先级…

sql server numeric 可存几位小数_想成为优秀SQL高手?你就差这些细节

标准结构化查询语言(Structured Query Language)简称SQL,sql是我们日常工作中使用最多一项技能,写sql可以说是一个可以干到退休的技能。看似简单,但要精通却很难。 sql包括增、删、改、查,创建表、删除表、修改表等等内容&#xf…

java random产生随机数_java的三种随机数生成方式,必掌握

随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:第一种:new Random()第二种:Math.random()第三种:currentTimeMillis()第一种需要借助java.util.Random类来产生一个随机数…

C 怎么处理windows路径_python学习笔记-7:文件读写之文件与文件路径

文件关键属性:路径文件名根据已知的文件路径生成包含正确路径分隔符的文件路径字符串:import osstt os.path.join(usr,bin,spam)print(stt)#usrbinspamwindows的路径分隔符为,字符串中使用需要转义字符,因此应输入为当前工作目录程序运行时&…

android手机图标 足球球星,世界足坛九大现役球星标志性绰号,第一名所有人都服!...

原标题:世界足坛九大现役球星标志性绰号,第一名所有人都服!9,“大腿”桑切斯自打智利天王桑切斯离开当年无比辉煌的巴萨加盟阿森纳后,就被无数球迷冠以“大腿”的绰号,当然这完全源自于他在英超阿森纳队中极…

mysql 互为主备 宕机 数据丢失_Devops部署-mysql主备多从搭建

​双主多从架构原理介绍IP端口账号密码服务名10.1.1.23306root/syncabc123!数据库A10.1.1.33306root/syncabc123!数据库B10.1.1.43306root/syncabc123!数据库C1.两台mysql都可读写,互为主备,默认只使用一台(masterA)负责数据的写入…