入门学习python


入门Python机器学习,我认为可以分成两部分:机器学习的基本概念和Python机器学习实战。在掌握了基本概念之后,就要去通过项目和代码去学习,多看代码。并且,在实践和解决实际问题的过程中,我们也会对所学的知识印象更深刻。

机器学习的基本概念

机器学习(Machine Learning)指的是一类让计算机能从数据中学习,找到数据规律,并预测未知的方法。其中,用于给计算机学习规律的数据称为“训练集”,用于检验机器学习效果的数据称为“测试集”。机器学习模型在未知数据或测试数据上的表现称为“泛化能力”。

按照机器学习解决问题的类型,可以分成监督学习、无监督学习、半监督学习。

监督学习(Supervised Learning):指训练数据有标注,按照预测的结果类型,可以进一步分成分类(预测类别)和回归(预测数值)

举个例子:给定一个瓜的色泽、敲声等数据,判断这个瓜是好瓜还是坏瓜,这个是分类问题;根据瓜的色泽、敲声,预测瓜的含糖量,这个是回归问题。
无监督学习(Unsupervised Learning):指的训练数据中没有标注。主要用于聚类。

比如,给定一群瓜的色泽、敲声、根蒂状态等数据,来给一群瓜聚成不同的类别,这样可以给不同的瓜类定不同的价格。注意,这里数据没有标注,我们不清楚具体的类别是哪些,需要根据聚类后的群详细探查数据,找到数据的共性(例如本地有籽瓜、本地无籽瓜、外地有籽瓜、外地无籽瓜等)。
半监督学习(Semi-supervised Learning):介于监督学习和无监督学习之间,训练数据只有部分有标注,模型需要利用有标注和无标注的数据一起训练。存在半监督学习的原因是,数据人工标注成本高昂。

举个例子,瓜农有100个瓜,由于时间成本原因,他单独抽样了10个瓜,根据色泽、敲声标注为好瓜/坏瓜,将40个无标注的数据并入训练集训练;最后预测剩下50个瓜的类别。
机器学习的基本步骤如下:

数据预处理:对数据进行清洗、异常值处理;同时将不同大小的数据规范化成0-1之间,减少不同范围的的数据对结果的影响。

特征提取/选择:对高维数据进行降维,选择或者构造对结果影响最大的数据特征

前两步在机器学习实践中比较重要,选取好的数据特征,比选取好模型带来的效果常常更显著。

模型选择:根据数据类型和需要解决的问题,选择合适的机器学习模型。常见的机器学习模型有:

监督学习:逻辑回归(Logistic Regression)、支持向量机(Support Vector Machine)、随机森林(Random Forest)、多层感知器(Multi-Layer Perceptron)等
无监督学习:K均值聚类、主成分分析(Principal Component Analysis)、层次聚类(Hierarchical Clustering)等
半监督学习:自训练(Self-Training)、半监督支持向量机(Semi-Supervised SVM)、标签传播(Label Propagation)、生成式半监督学习(Generative Semi-Supervised Learning)等方法
机器学习模型的详细原理,可以参考周志华的《机器学习》。

结果验证:在测试集上进行模型效果验证,选择最优的模型。回归问题通常计算测试集实际值与预测值的均方误差;而对于分类问题,常计算模型的精度,查全率,召回率等参数。

在结果验证时,机器学习模型如果泛化性能不佳,会出现两种情况:过拟合、欠拟合。

过拟合:指模型过于复杂,模型过度适应训练数据,在新数据上表现不佳。

欠拟合:指模型过于简单,不能很好的拟合数据的变化,未能捕捉到数据关键特征。

项目实践

实践之前,可以先配置好Python本地环境,还需要了解Python常用的机器学习库:

Numpy(用于矩阵向量计算)
Pandas(用于数据分析任务)
matplotlib(方便的绘图工具库)
Scikit-learn(几乎集成了所有常见的机器学习算法)
Keras/Tensorflow/Pytorch(主要用于深度学习)
对于初学者来说,多看代码是比较重要的,这里有两种方式接触到机器学习项目的代码。

1.可以去Kaggle(著名的在线数据科学竞赛平台和社区,它提供了真实的数据集和各类问题)的Competitions模块,找一些简单的数据和问题,比如泰坦尼克号存活预测问题,可以看到其它人上传的Code。


2.去Github(全球最大的代码开源社区之一)找一些Machine Learning为关键词的项目,直接看代码。

以上代码,最好能在本地或者线上编译器运行一遍。

刚刚入门时,在看代码的过程中,我常常会遇到一些看不懂的地方,需要去各种地方查阅资料,一研究就是大半天。

而现在,AI大模型可以帮我们解读代码的内容。比如我对上述从Kaggle中找到的数据预处理代码进行提问:


利用AI大模型帮助我们解读代码,阅读代码的效率可以大大提升,理解成本降低。

随着AI大模型时代的到来,越来越多的人会使用AI大模型工具帮助自己提升工作和学习效能。推荐你们「知乎知学堂」联合「AGI课堂」官方发布的:AI大模型免费公开课,

2023超🔥的AI大模型公开课👉大模型资料包免费领!
¥0.00
立即体验
让你在两天内从容应对AI技术革新,成为大模型时代受益者。添加助教微信还可以领取AI 大模型资料包、好用的AI工具名称和网址等资源,帮助你提升学习效率~

可以用一到两周的时间,找一些基础的项目(包括分类、回归等不同的问题类型),只看别人的代码,多多理解学习,然后运行,体验下编译出结果的快乐。

接下来,我们要开始自己实战了。仍然是用之前找的项目,尝试不看其他人的逻辑,自己应用其他机器学习算法跑一遍整个数据预处理、特征选择、模型选择、结果验证的流程;

遇到不会的地方,可以自己查阅Python官方文档,或者向AI大模型工具进行提问。

这样,你就基本入门了几个机器学习项目。

之后,你可以在Kaggle找一些难度更高、数据量更大的项目,用同样的流程学习:

用一两周先看别人的代码,再用一两周自己尝试实现。

当你积累得足够多的时候,之后可以参加一些实时的竞赛,竞赛中是看不到别人的代码的,整个项目完全由自己实现。


以上是机器学习入门的相关介绍。Linus大佬说过:"Talk is cheap, show me your code"。机器学习是一门实践驱动的领域,真正的理解和掌握需要不断地动手实践,加油吧!

我是等壹,毕业于上海交大,现于某大厂当码农。是个热爱技术,喜欢看书、旅游、看动漫的妹子;是个“总想看更多的书,去更远的地方”的佛系工作狂~

我会定期分享技术、学习等干货,欢迎关注!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值