楼主: 时光永痕
901 0

[数据挖掘新闻] 机器学习过程是什么样的? [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)三级

63%

威望
0
论坛币
26 个
通用积分
49.7576
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
316 小时
注册时间
2020-7-21
最后登录
2024-4-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
机器学习过程是什么样的?
我已经提到过,每个机器学习过程都是通过以下几个步骤构建的:
您想实现什么(定义目标)
准备数据
选择一种或多种算法
建立和训练模型
测试模型(并评分)
让我们一一审查。我应该提到,您将能够在Internet上找到步骤数与本博客中看到的步骤数不同的信息。例如,您可以分离构建和测试模型,但是最后无论这是一个还是多个步骤,都需要执行此操作。关于测试和评估模型,您可以说相同的话。
您想实现什么(定义目标)
好。这是过程中最重要的部分!至少从业务(或解决问题)的角度来看。请不要生气,我使用的是“业务”一词,因为有人最终需要为您作为数据科学家的工作付费。
重要的免责声明–并非所有的问题都将通过机器学习来解决!
想一想。想象你是一名护理人员,看到一个 交通信号灯。有三种颜色-红色,黄色和绿色。当指示灯为红色时,您应该等待。指示灯为黄色时,请当心,不要进入十字路口。指示灯为绿色时,您可以安全行驶。指示灯还有第四个状态-红色和黄色的指示灯亮着,这表示绿色马上就会出现。黄色罐脉冲,这是错误状态。您还知道顺序:绿色->黄色->红色->红色和黄色->绿色…
现在尝试实施一个系统,该系统通过了解浅色告诉您是否可以出发,准备出发或等待。您需要创建机器学习模型吗?还是神经网络?不,该系统只是一个基于几个规则的非常简单的算法。
现在您知道了–您想解决一些问题。定义得越好,成功的机会就越大。这可能是一个简单的问题,例如:
根据我目前的体检结果,我能否以95%的概率生活100年以上?
这蘑菇可食用或有毒吗?
这封电子邮件是垃圾邮件吗?
我的车值多少钱?
但是问题可能更加复杂。让我们看下面的图片。猜猜哪个是吉娃娃,哪个是蓝莓松饼。
奇瓦瓦州蓝莓松饼
作为人类,我们可以看到差异,但是对于程序而言,这可能是棘手且极具挑战性的。那么这样的任务呢:“这个人体细胞是恶性的还是健康的?” 机器学习在这里有帮助。
准备数据
等待!什么数据?我已经有数据了吗?你应该有!已经有人定义了问题,并应基于此知识确定数据集。
您可以拥有文件,关系数据库,NoSQL数据库,图形数据……无论如何!
信不信由你,这才是问题真正开始的地方!第一个问题应该是–数据质量是什么?我有公司的数据–我可以信任这些数据吗?
像公共资源这样的公共数据源又如何呢?看一看我为您制作的1分钟电影。这都是关于公共数据的。
我还没洗过甲板。卡一直在那儿。就像您所看到的一样。有时您需要一些良好的数据,并认为公共数据集可以为您提供这些数据。公开数据意味着您很容易被骗,整个过程的质量将非常低。不是neccesarilly,而是……。你懂。有可能。
您已经成功收集了数据,现在需要做一些准备。我将发布一篇关于数据准备技术的文章,而不是其中一篇。这里有很多方法,但是您应该知道数据集–数据源是什么,如果包含什么信息–哪些属性很重要?如果您不太了解数据集–如何更好地了解它(如何进行探索性分析?)。我们可以减少属性数量(PCA分析)吗?我们可以删除一些数据而不创建数据偏斜吗?我们可以结合现有功能来引入新功能吗?如何执行从字符串数据到数字数据的映射(一次热编码)?我们应该执行一些正则化还是数据标准化?
哦,男孩,涵盖了这么多主题!
选择一种或多种算法
根据给您的问题(目标),您应该考虑使用的算法不是一个,而是更多。它们有几十种,那么如何选择好的算法呢?这里最简单的方法是知道您要进行分类还是回归。
归类是将输出分配给其中一个组时(例如在我们的示例中),电子邮件可以是垃圾邮件,也可以不是垃圾邮件。分类过程考虑了所有输入功能,并确定新电子邮件(从未见过)是否为垃圾邮件。
回归算法可以根据输入要素的值来预测(估计或估计)数字。例如,如果现在的汽车已经使用3年,并且装有6.8升柴油发动机,并且是白色(还有更多…),那么明年的汽车价值是多少。
让我在这里命名一些分类算法,以便稍后使用:
朴素贝叶斯
k最近邻居
SVM –支持向量机
决策树
随机阿甘
Logistic回归(是的,这是一种分类算法)
神经网络–等待!是算法吗?
在这里-一些回归算法:
线性回归模型
套索回归
岭回归
多项式回归
ElasticNet回归
但是,如何选择一个呢?
建立和训练模型
您有一个数据集,其中包含输入要素和有关结果的信息(输出要素)。考虑到这一点,让我们建立一个模型。
为此,您需要将数据集分为两个部分,称为训练和测试数据集。通常,训练数据集包含您数据的70%,而测试集具有其余部分。当然,并非总是如此,您可以为训练数据集分配更少的数据,尤其是在您有大量数据的情况下。
现在您问自己–如何正确划分数据集?不是根据数字(70%-30%的比例),而是根据数据质量。好消息是,诸如scikitlearn之类的现有框架可以在许多方面为我们提供帮助。我将在以后的文章中集中讨论这一部分。
获得训练和测试数据集后,您可以选择要构建的模型。当您选择了算法并且知道一点类似scikitlearn的框架时,这确实是最简单的部分。
建立模型是要创建特定类型的对象,并将其与训练数据集中的数据一起提供。有时模型只训练一次,有时又像k折交叉验证过程中那样反复进行(稍后会详细介绍)。
测试模型(并评分)
训练完模型后,您需要对模型从未见过的数据进行测试。这类似于考试。您可以通过学习书籍或进行研究准备考试。然后,您去参加考试,您的知识就会得到测试。测试的结果是您的知识水平。分数越高,您越是专家。但是,如果您的成绩不是很好,则需要学习更多或更改方法。
您应该对模型应用相同的过程。您需要对其进行评估,并从该过程的最初步骤中查看是否真的会提出您的问题。
但是,如果模型无法按预期工作怎么办?然后,您有两个选择:
在相同的模型上再次运行学习过程,但对其参数进行调整(这称为超参数调整)
改变模型,找到更好的模型
在下一篇文章中,我将向您展示如何在Python中自动执行此过程。
下一步是什么?
您不知所措吗?我将在下一篇文章中解释所有主要步骤,因此请不要混淆!现在您应该放松一下,因为我们将使用现有框架来加速我描述的机器学习和AI步骤。
将会涵盖更多新任务,因此请继续关注。例如,我将在讨论(除了上面提到的许多其他事情):
Microsoft Azure云中的自动化机器学习
手动部署
在应用程序中使用机器学习模型

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:机器学习 logistic回归 Microsoft Internet logistic

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-3 21:00