Python机器学习算法入门指南(全),快醒醒吧

  • 特征选择

特征选择筛选出显著特征、摒弃非显著特征。特征选择方法一般分为三类:

① 过滤法:按照特征的发散性或者相关性指标对各个特征进行评分后选择,如方差验证、相关系数、IV值、卡方检验及信息增益等方法。

② 包装法:每次选择部分特征迭代训练模型,根据模型预测效果评分选择特征的去留。

③ 嵌入法:使用某些模型进行训练,得到各个特征的权值系数,根据权值系数从大到小来选择特征,如XGBOOST特征重要性选择特征。

  • 特征降维

如果特征选择后的特征数目仍太多,这种情形下经常会有数据样本稀疏、距离计算困难的问题(称为 “维数灾难”),可以通过特征降维解决。

常用的降维方法有:主成分分析法(PCA),

线性判别分析法(LDA)等。

2.4 模型训练

模型训练是选择模型学习数据分布的过程。这过程还需要依据训练结果调整算法的(超)参数,使得结果变得更加优良。

  • 2.4.1 数据集划分

训练模型前,一般会把数据集分为训练集和测试集,并可再对训练集再细分为训练集和验证集,从而对模型的泛化能力进行评估。

① 训练集(training set):用于运行学习算法。

② 开发验证集(development set)用于调整参数,选择特征以及对算法其它优化。常用的验证方式有交叉验证Cross-validation,留一法等;

③ 测试集(test set)用于评估算法的性能,但不会据此改变学习算法或参数。

  • 2.4.2 模型选择

常见的机器学习算法如下:

模型选择取决于数据情况和预测目标。可以训练多个模型,根据实际的效果选择表现较好的模型或者模型融合。

  • 2.4.3 模型训练

训练过程可以通过调参进行优化,调参的过程是一种基于数据集、模型和训练过程细节的实证过程。

超参数优化需要基于对算法的原理的理解和经验,此外还有自动调参技术:网格搜索、随机搜索及贝叶斯优化等。

2.5 模型评估

模型评估的标准:模型学习的目的使学到的模型对新数据能有很好的预测能力(泛化能力)。现实中通常由训练误差及测试误差评估模型的训练数据学习程度及泛化能力。

  • 2.5.1 评估指标

① 评估分类模型:

常用的评估标准有查准率P、查全率R、两者调和平均F1-score 等,并由混淆矩阵的统计相应的个数计算出数值:

查准率是指分类器分类正确的正样本(TP)的个数占该分类器所有预测为正样本个数(TP+FP)的比例;

查全率是指分类器分类正确的正样本个数(TP)占所有的正样本个数(TP+FN)的比例。

F1-score是查准率P、查全率R的调和平均:

② 评估回归模型:

常用的评估指标有RMSE均方根误差 等。反馈的是预测数值与实际值的拟合情况。

③ 评估聚类模型:可分为两类方式,一类将聚类结果与某个“参考模型”的结果进行比较,称为“外部指标”(external index):如兰德指数,FM指数 等;

另一类是直接考察聚类结果而不利用任何参考模型,称为“内部指标”(internal index):如紧凑度、分离度 等。

  • 2.5.2 模型评估及优化

根据训练集及测试集的指标表现,分析原因并对模型进行优化,常用的方法有:

2.6 模型决策

决策是机器学习最终目的,对模型预测信息加以分析解释,并应用于实际的工作领域。

需要注意的是工程上是结果导向,模型在线上运行的效果直接决定模型的成败,不仅仅包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性的综合考虑。

3 Python实战


# 这是一个简单的demo。使用iris植物的数据,训练iris分类模型,通过模型预测识别品种。

import pandas as pd

加载数据集

data = load_iris()

df = pd.DataFrame(data.data, columns=data.feature_names)

df.head()

使用pandas_profiling库分析数据情况

import pandas_profiling

df.profile_report(title=‘iris’)

划分标签y,特征x

y = df[‘class’]

x = df.drop(‘class’, axis=1)

#划分训练集,测试集
from sklearn.model_selection import train_test_split
train_x, test_x, train_y, test_y = train_test_split(x, y)

模型训练

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
零基础python机器学习入门机器学习是一门涉及数据分析、统计学和计算机科学的学科,使用算法和模型来让计算机自主学习,从而能够对未知数据进行预测和决策。Python是一种广泛应用于机器学习领域的编程语言,由于其易读易写的特性,成为了机器学习初学者的首选。 要入门Python机器学习,以下是一些建议: 1. 学习Python编程基础:学习基本语法、控制流、函数、面向对象编程等基础知识,以便能够编写Python程序。 2. 学习Python的科学计算库:掌握NumPy、Pandas和Matplotlib等库,它们提供丰富的数学计算、数据分析和数据可视化功能。 3. 学习机器学习库:掌握Scikit-learn库,它是Python中最流行的机器学习库之一,提供了大量的机器学习算法和工具。 4. 学习机器学习基础概念:了解机器学习的基本概念和常用算法,如监督学习、无监督学习、回归、分类、聚类等。 5. 完成实践项目:通过完成一些简单的机器学习项目,如房价预测、垃圾邮件分类等,将理论知识应用到实际问题中。 6. 参考教程和文档:利用网络上丰富的教程和文档资源,学习更多关于Python机器学习的知识和技巧。 7. 加入社区和论坛:参与机器学习社区和论坛,与其他学习者交流和分享经验,可以加速学习的过程。 通过以上步骤,你将能够速掌握零基础Python机器学习入门所需的知识和技能,并能够开始构建自己的机器学习项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值