Python机器学习算法入门指南(全),作为一个Python程序员你还不会JetPack

  • 数据标准化

数据各个特征变量的量纲差异很大,可以使用数据标准化消除不同分量量纲差异的影响,加速模型收敛的效率。常用的方法有:

① min-max 标准化:

将数值范围缩放到(0,1),但没有改变数据分布。max为样本最大值,min为样本最小值。

② z-score 标准化:

将数值范围缩放到0附近, 经过处理的数据符合标准正态分布。u是平均值,σ是标准差。

2.3.2 特征提取

  • 特征表示

数据需要转换为计算机能够处理的数值形式。如果数据是图片数据需要转换为RGB三维矩阵的表示。

![](https://img-blog.csdnimg.cn/62fd17c51892422b81cfc7eb335e9496.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56iL5bqP5ZGY5a2U5LmZ5bex,size_19,color_FFFFFF,t_70,g_se,x_1

Python机器学习算法入门指南(全),作为一个Python程序员你还不会JetPack_第1张图片

字符类的数据可以用多维数组表示,有Onehot独热编码表示、word2vetor分布式表示及bert动态编码等;

  • 特征衍生

基础特征对样本信息的表述有限,可通过特征衍生出新含义的特征进行。特征衍生是对现有基础特征的含义进行某种处理(聚合/转换之类),常用方法如:

① 结合业务的理解做衍生:

聚合的方式是指对字段聚合后求平均值、计数、最大值等。比如通过12个月工资可以加工出:平均月工资,薪资最大值 等等;

转换的方式是指对字段间做加减乘除之类。比如通过12个月工资可以加工出:当月工资收入与支出的比值、差值等等;

② 使用特征衍生工具:如Featuretools等;

  • 特征选择

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

① 过滤法:按照特征的发散性或者相关性指标对各个特征进行评分后选择,如方差验证、相关系数、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()

最后

硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
类模型,通过模型预测识别品种。

import pandas as pd

加载数据集

data = load_iris()

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

df.head()

最后

硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

你可能感兴趣的:(程序员,面试,经验分享,开发语言)