数据挖掘算法_算法篇(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、…

linux安装icc步骤,怎麼安装不到 icc?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我是用 arch linux, 安装的 icc 版本是 2011.11.339(ia32 x86_64)错误如下:Step no: 5 of 6 | Installation--------------------------------------------------------------------------------Each component will be installed…

利用python制作漂亮的词云图_利用python制作漂亮的词云图

新建一个新的目录随便找个地方新建一个目录,比如我在F盘下面新建一个word_cloud文件夹(名字都是随便取),并且打开这个文件夹.把刚刚下载的msyh.ttc复制到这里.新建一个my_word_cloud.py在这里.然后可以在my_word_cloud.py写代码了,首先导入相关的包##对于NLP(自然语言处理)来说…

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

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

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

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

偏移shaderuv_Unity Shader 之 uv动画

Unity 动画Unity Shader 内置时间变量引入时间变量名称类型描述_Timefloat4t是自该场景加载开始所经过的时间,4个分量分别是(t/20, t, 2t, 3t)_SinTimefloat4t是时间的正弦值,(t/8, t/4, t/2, t)_CosTimefloat4t是时间的余弦值,(t/8, t/4, t/…

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

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

linux中的改变bin级别,Linux常用命令

关机命令:shutdown -h now / shutdown -r now / reboot切换图形化界面:startx 切换到命令行:注销即可添加用户:useradd xiaoming设置密码:passwd xiaoming删除用户:userdel xiaoming 【userdel -r x…

pythonencoding etf-8_etf iopv python 代码30个Python常用小技巧

1、原地交换两个数字x, y 10, 20print(x, y)y, x x, yprint(x, y)10 2020 102、链状比较操作符n 10print(1 print(1 > n < 9)TrueFalse3、使用三元操作符来实现条件赋值[表达式为真的返回值] if [表达式] else [表达式为假的返回值]y 20x 9 if (y 10) else 8print(x…

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

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

win10树莓派改ip_Window 10通过网线和Wifi连接树莓派

几个月前买了个树莓派&#xff0c;扔在一边没有捣鼓&#xff0c;今天搞定了笔记本通过家里的wifi登录树莓派&#xff0c;下面列出设置过程。实验环境:网络&#xff1a;只有wifi材料&#xff1a;笔记本一台(Win10)&#xff0c;树莓派一台&#xff0c;EDUP USB无线网卡一枚&#…

双机通信c语言程序,双机通信(C语言、主机和从机共用程序)

//头文件#include//循环移位文件#define uchar unsigned char//宏定义#define uint unsigned intsbit key1P3^5; //位声明uchar code table[]{0X00,0x3f,0x06,0x5b,//数码管显示的数值0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchar table_tr[6];//暂存最后按下的六个数值uchar…

python读取大文件目录_65.Python读取大文件

方式一 import os path r"C:\Users\yzt\Desktop\work\InfosecTestPlatform\libs\Log\mainline1-nohup.log" ##################### """ file.seek(off, whence0)&#xff1a; 从文件中移动off个操作标记&#xff08;文件指针&#xff09;&#xff0c…

java设计按月每天签到_java实现app签到功能

本文实例为大家分享了java实现app签到功能的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下1.首先设计二张表&#xff0c;第一张表sign_calc记录用户连续签到次数&#xff0c;字段id,user_id,continue_days&#xff0c;第二张表sign_detail签到详情表id,user_id,sign…

c语言第四版课后答案第三章3.4,算法与数据结构C语言版课后习题答案(机械工业出版社)第3,4章 习题参考答案...

第3章栈和队列一、基础知识题3.1 有五个数依次进栈&#xff1a;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5。在各种出栈的序列中&#xff0c;以3&#xff0c;4先出的序列有哪几个。(&#xff13;在&#xff14;之前出栈)。【解答】34215 &#xff0c;34251&#x…

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

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

用python做透视表_用Python实现数据的透视表的方法

用Python实现数据的透视表的方法来源&#xff1a;中文源码网 浏览&#xff1a; 次 日期&#xff1a;2019年11月5日【下载文档: 用Python实现数据的透视表的方法.txt 】(友情提示:右键点上行txt文档名->目标另存为)用Python实现数据的透视表的方法在处理数据时&#x…

c语言编程用进退法求搜索区间代码,用c对函数进行优化的问题

//多维无约束优化软件设计#include #include #include double det1e-5; //计算精度double det11e-3; //梯度判断精度double ak3e-3; //搜索步长double dx1e-4; //梯度计算步长/*目标函数(n维)入口参数&#xff1a;x &#xff1a;n维数组&#xff0c;自变量返回值 &#xff1a;函…

python关闭指定浏览器页面_Python自动关闭浏览器关闭网页的方法

在py编辑窗口中输入代码&#xff1a; from selenium.webdriver.chrome.options import Options from selenium import webdriver __browser_url rC:\Users\Administrator\AppData\Roaming\360se6\Application\360se.exe chrome_options Options() chrome_options.binary_loca…

ubuntu 安装kde桌面_在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法

本文介绍在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法。Plasma Desktop是KDE创建的一种流行且功能强大的桌面环境&#xff0c;主要用于Linux系统。KDE Plasma的当前版本是5&#xff0c;它是KDE Plasma 4的后续版本&#xff0c;旨在帮助您以高效的方式完成工作。当Plasma强…