机器学习入门
一直以来想要学习机器学习。
想要入门机器学习,学习的方式大多是从网上观看相关的视频和书籍。
看的视频,怎么说呢,讲的很基础,但是没有清晰的思维方式,看了一段视频之后不知道为什么这么做的逻辑,没有系统的架构。
看书就更是如此了,书上的很多地方只有做法,并没有说清楚为什么这么做,很多的地方还省略了一些步骤。
总体感觉还是实战来的快些,这些实践还要是那些不是基于官方的,通用的数据集的处理方式,得具体问题具体分析。
那么怎么才能实现所谓的入门呢?
鄙人认为,机器学习的入门,首先就是要了解机器学习的常规处理方式,很多机器学习的解决方案大多都有一定的套路,在机器学习的初级阶段,我们需要掌握的就是这些套路。
要掌握这些套路,那么我们就需要了解,一个完整的机器学习项目的流程到底是什么样的?
从某站上参考得出以下步骤,
1.明确需求,将需求抽象成数学问题
首先确定好你使用机器学习的目的,
是想要处理分类的问题么,比如已知鸢尾花的数据,想要对这花做个分类(鸢尾花数据集),
还是已知泰坦尼克的乘客的信息,来预测下各乘客是否存活。(泰坦尼克数据集)
这类的问题就属于分类的问题。
是想要处理回归的问题么,比如已知波斯顿某段时间的房价信息,想要预测未来房价的走向(波斯顿房价数据集)
已知某网的各消息的点击率,想要预测之后消息的点击率。
是想要处理聚类的问题么,比如已知某站用户的观影数据,现在需要给用户推荐电影。
已知某站用户的听歌数据,现在需要给用户推荐歌曲。
问题大致上分为以上三种,如果你无法一下子判断出自己需要实现哪种方法,那你需要做的,则是再次分析需求。
2.获取数据
数据集的来源很大程度上决定了你预测的准确程度。
在数据足够多的情况下,使用的数据越多,你得出的模型的效果就越好。
但更多的时候我们的数据很有限,那么我们就需要清楚我们使用的数据的来源,以判断这些数据是否片面,是否会影响训练出的算法。
3.数据预处理
获取完数据之后还需要预览一下你获取的数据。
看看有没有什么异常啊,乱码啊,缺失啊,重复啊。
看看数据是不是需要排个序,求个平均值什么的。
看看数据是否需要变换,换个单位啥的。
看看是不是需要根据原有的数据,生成新的数据,比如根据出生日期生成个对应的星座之类。
看看是不是有属性重复的列,比如有了出生年月日,还使用了出生年份
看看数据是否需要归一化,将数据的范围限制在0-1或者【-1,1】之间。
4.特征工程
之前的步骤很重要,这步更是重中之重。
需要你观察数据的分布情况,数据的走势等等,运用特征分析的相关技术,如相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法筛选出有益的特征。
5.选择模型
通常各种的机器学习问题都有很多种方法来解决。我们更需要关注的是模型的输入输出。
看看模型的输入是什么,是数组还是dataframe,是否需要对数据做一些数据上的转换。
其次是关注模型的参数,通常一个模型是由很多个参数共同控制的。
理解模型的实现方式才能使我们有进步的空间
6.模型反馈
模型训练完了之后,首先需要观察的是训练的情况,输出准确性,方差,误差之类的图表。
然后再应用与已知的验证集,看看模型的可靠程度。
至此,机器学习的基本流程就已经基本完成了。
在以后的学习里,我们将按照这样的步骤来进一步了解机器学习。
学习的过程中,听课看书是辅助,关键的是要自己上手实践,思考,提出问题,并解决问题,关键在于自己。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了