【蜘蛛智链】包装供应链公司_包装盒批发定做厂家

干货分享:数据挖掘

周奇奇 263562

编辑导读:数据挖掘是指通过算法搜索隐藏在大量不完整、有噪声、模糊、随机数据中的信息的过程。本文作者重点介绍数据挖掘,希望对你有所帮助。

豆豆和花花开了一家花店。豆豆告诉花花,“情人节快到了。我们店里需要准备什么样的情人节花束?”每种花束需要准备多少?......”花花回答道,“按照客户分类,大致可以分为8类,比如自信示爱、甜心、银河之恋等。前三类去年卖得很好,今年我们需要提供比去年多30%的花束。豆豆说:“鲜花的保质期极短,多出来的鲜花只能从30%降到10%,既能控制成本,又能积累口碑……”

上述案例中,花花在制定采购计划时,首先对客户进行分类。在数据挖掘领域,可以使用无监督模型(如k-means),分类模型(如KNN、决策树、逻辑回归等。)也可用于对用户进行分组。鲜花预测“今年的花束需要比上一年高出30%”。在数据挖掘领域,回归模型可以用来预测。

接下来,我将和你谈谈数据挖掘。

01 机器学习与数据挖掘的区别与联系1.1 概念

首先我们总结一下机器学习和数据挖掘的定义:数据挖掘是指通过算法从大量不完整的、有噪声的、模糊的、随机的数据中寻找隐藏信息的过程。换句话说,数据挖掘试图从海量数据中找到有用的信息。

机器学习是一种从数据中自动分析并获取规则的算法,并利用规则来预测未知数据。也就是说,机器学习就是把现实生活中的问题抽象成数学模型,用数学方法求解数学模型,从而解决现实生活中的问题。

1.2 联系与区别

1.2.1联系数据挖掘受多门学科的影响,包括数据库、机器学习、统计学、领域知识和模式识别。简而言之,对于数据挖掘,数据库提供数据存储技术,机器学习和统计学提供数据分析技术。

统计学往往忽略了实际效用,痴迷于理论之美。所以统计学提供的技术大部分需要在机器学习领域进一步研究,成为机器学习算法后才能进入数据挖掘领域。在这方面,统计学主要通过机器学习来影响数据挖掘,而机器学习和数据库是数据挖掘的两大支撑。简而言之,机器学习为数据挖掘提供了解决实际问题的方法。算法在数据挖掘中的成功应用表明,机器学习对于算法研究具有实际应用价值。

1.2.2差异

在数据分析方面,大部分数据挖掘技术都来自于机器学习,但是机器学习研究并没有把海量数据作为处理对象。所以数据挖掘需要对算法进行改造,使算法性能和空占用率能够实用。同时,数据挖掘有其独特的内容——关联分析。

至于数据挖掘和模式识别,在概念上是有区别的。数据挖掘重在发现知识,模式识别重在理解事物。

简而言之,机器学习关注的是相关机器学习算法的理论研究和算法改进,更具有理论性和学术性。数据挖掘注重用算法或其他模式解决实际问题,更倾向于实践和应用。

02 机器学习的分类

机器学习的方法是基于数据生成的“模型”的算法,也称为“学习算法”。机器学习方法包括监督学习、非监督学习、半监督学习和强化学习。

2.1 有监督学习

监督学习是指对数据和标签的某些特征之间的关系进行建模的过程。其主要目标是从已标记的训练数据中学习模型,从而预测未知或未来的数据。以用户是否会再次买花为例,我们可以利用监督学习算法在标签数据上(标签是否正确)训练模型,然后利用模型预测新用户是否属于粘性用户。

标记为离散值的监督学习任务称为“分类任务”,比如上面用户是否会再次买花的例子。常用的分类模型包括KNN、决策树、逻辑回归等。

标记为连续值的监督学习任务称为“回归任务”,例如根据历史数据预测未来的销售。常用的回归模型有线性回归、非线性回归和岭回归。

注:机器学习领域的预测变量通常称为特征,而响应变量通常称为目标变量或标签。

2.2 无监督学习

无监督学习是指在没有任何标签的情况下对数据特征进行建模,通常被认为是一个“让数据自我介绍”的过程。也就是说,通过无监督学习,我们可以在没有目标变量或奖励函数指导的情况下,探索数据结构以提取有意义的信息。这类模型包括“聚类任务”和“降维任务”。其中,聚类算法可以将数据分成不同的组,而降维算法则追求更简洁的方式来表示数据。

2.3 半监督学习

半监督学习方法介于监督学习和非监督学习之间,通常在数据不完整的情况下使用。

2.4 强化学习

强化学习不同于监督学习。它把学习看成是一个试错的过程,通过试错学习,与环境的互动已经作为一种评价得到了奖励和惩罚。也就是说,它强调的是如何根据环境来行动,使预期收益最大化。此时系统通过自身的状态和动作进行学习,从而改进行动方案以适应环境。

03 数据挖掘建模过程

考虑到数据本身,数据挖掘的建模过程通常需要六个步骤:理解业务、理解数据、准备数据、建立模型、评估模型、部署模型。

3.1 理解商业

理解业务是数据挖掘最重要的部分。在这个阶段,我们需要定义业务目标,评估业务环境,确定采矿目标并生成项目计划。简单来说,针对不同的业务场景,需要了解挖掘的目标是什么,需要达到什么样的效果。用白话文来说,就是你真正想做的事情。

还是以花店为例,为了增加销量,店员可以帮助顾客快速找到自己感兴趣的花束,同时附上一个可以接受的小饰品,比如花瓶、零食、香水等等,同时保证用户体验。

3.2 理解数据

是数据挖掘过程的“原材料”。在数据理解的过程中,我们需要知道有哪些数据,这些数据的特征是什么。通过对数据的描述和分析,我们可以得到数据的特征。其中,了解哪些数据决定了后期工作的顺利进行,就显得尤为重要。例如,与花店相关的数据:

1)鲜花数据:花名、花类、购买时间、购买数量、购买金额等。

2)运营数据:运营时间、预定时间、预定类别、预定人数等。

3)其他数据:是否是节假日、用户口碑、竞争对手动向、天气情况等。

3.3 准备数据

在数据准备阶段,我们需要清理、重建和合并数据。选择要分析的数据,对不符合模型输入要求的数据进行标准化处理。主要是为建模准备数据,可以从数据预处理、特征提取、特征选择等方面梳理如下:1)缺失值:由于个人隐私或设备故障,某些观测值在一定纬度上缺失,通常称为缺失值。缺失值的存在可能导致模型结果出现误差,可以考虑删除、模式或均值填充来解决缺失值。

2)离群点:由于远离正态样本的观测点,它们的存在也会影响模型的精度。可以通过象限图或者3sigma(正态分布)来判断。如果是,可以删除或者单独处理。

3)维度不一致:模型容易受到不同维度的影响,需要通过标准化方法(通常是归一化、规格化等方法)对数据进行转换。

4)维数灾难:当数据集包含数百甚至数千万个变量时,往往会增加模型的复杂度,从而影响模型的运行效率,因此需要使用方差分析、相关性分析、主成分分析等手段实现降维。

3.4 建模型

通常,预处理将占据整个数据挖掘过程的80%左右。在保持数据“干净”的前提下,需要选择合适的模型。以下是常用的机器算法。1)分类模型:KNN、决策树、逻辑回归等。

2)回归模型:线性回归、岭回归、支持向量回归等。

3)无监督模型:k-means等。

数据挖掘中的大多数模型都不是专门为解决某个问题而设计的,而且模型之间也不是互斥的。不能说一个问题只能用一个模型,其他都不能用。一般来说,某个数据分析项目没有所谓的最佳模型。在最终决定选择哪个型号之前,各种型号都要试,然后选择一个更好的。各种模式在不同环境下的优缺点会有所不同。

3.5 评估模型

评估阶段主要是对建模结果进行评估,目的是选择最佳模型,使这个模型能够更好地反映数据的真实性。不是每个模型都能满足我们的目标。分析结果不佳的原因,偶尔回到之前的步骤重新定义挖掘过程。例如,对于决策树或逻辑回归,即使它在训练集中表现良好,但在测试集中的结果很差,这表明模型存在过拟合。

3.6 模型部署

模型的建立需要解决实际问题,还包括模型的监督、报告生成、再评估等过程。很多时候,spss,python,R等。通常用于建模。在建模过程中,只考虑模型的可用性。在生产环境中,通常使用Java或C++等语言来重写模型,从而提高运行性能。

祝大家情人节快乐!

作者:猫耳,专注数据分析;“数据创造者联盟”成员。

本文由@某数据人自留地原创发布于蜘蛛智慧链,未经允许禁止转载。

图片来自PEPEPEELS,基于CC0协议。