前言
无论是传统行业,还是互联网行业。掌握数据,就是掌握规律。当你了解了市场数据,对它进行分析,就可以得到市场规律。当你掌握了产品自身的数据,对它进行分析,就可以了解产品的用户来源、用户画像等等。所以说数据是个全新的视角。
当我们谈论数据分析的时候,都在讲些什么呢?这里可以把数据分析分成三个重要的组成部分。
数据采集:它是我们的原材料,也是最“接地气”的部分,因为任何分析都要有数据源。
数据挖掘:它可以说是最“高大上”的部分,也是整个商业价值所在。之所以要进行数据分析,就是要找到其中的规律,来指导我们的业务。因此数据挖掘的核心是挖掘数据的商业价值,也就是我们所谈的商业智能 BI。
数据可视化:它可以说是数据领域中万金油的技能,可以让我们直观地了解到数据分析的结果。
在这个专栏中,我们主要学习第二个部分:数据挖掘算法,一定程度上,也可以称为机器学习算法。
一、数据挖掘的基本流程
数据挖掘的过程可以分成以下 6 个步骤:
商业理解:数据挖掘不是我们的目的,我们的目的是更好地帮助业务,所以第一步我们要从商业的角度理解项目需求,在这个基础上,再对数据挖掘的目标进行定义。
数据理解:尝试收集部分数据,然后对数据进行探索,包括数据描述、数据质量验证等。这有助于你对收集的数据有个初步的认知。
数据准备:开始收集数据,并对数据进行清洗、数据集成等操作,完成数据挖掘前的准备工作。
模型建立:选择和应用各种数据挖掘模型,并进行优化,以便得到更好的分类结果。
模型评估:对模型进行评价,并检查构建模型的每个步骤,确认模型是否实现了预定的商业目标。
上线发布:模型的作用是从数据中找到金矿,也就是我们所说的“知识”,获得的知识需要转化成用户可以使用的方式,呈现的形式可以是一份报告,也可以是实现一个比较复杂的、可重复的数据挖掘过程。数据挖掘结果如果是日常运营的一部分,那么后续的监控和维护就会变得重要。
二、算法分类
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:特征工程的位置与数据比较
- 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
包含内容:
3.1.2 获取sklearn自带的数据集API
3.1.3 划分数据集
数据集会划分为两个部分:
- 训练数据:用于训练,构建模型;
- 测试数据:在模型检验时使用,用于评估模型是否有效;
划分比例:测试集一般在20%-30%,不传参,默认25%;
本篇,先写到这里吧!下一篇:特征工程介绍;