Python机器学习(sklearn)——分类模型评估与调参总结(上)

简介: Python机器学习(sklearn)——分类模型评估与调参总结

1.如果只划分测试集和训练集 经验是75%作为训练集
sklearn中的train_test_split()默认这样划分
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split()

2.通常使用sklearn中的score方法计算结果的精度(正确预测比例)

3.KNN算法有两个重要参数:邻居个数和数据点之间距离的度量方法
在实践中,选择较小的邻居个数(例如3或5个)效果较好,sklearn中默认使用欧氏距离
构建KNN模型速度很快,若训练集很大(特征数多或样本数多),预测速度可能较慢
对于稀疏数据集(大多数特征值为0),KNN效果很不好

4.普通最小二乘法,即要求预测值和真实值均方误差最小
均方误差为预测值和真实值只差的平方和除以样本数

5.训练集和测试集之间的分数差异是过拟合的明显标志
例如,训练集0.95 测试集0.61

6.线性回归防止过拟合可以采用岭回归(L2正则化)
from sklearn,linear_model import Ridge
ridge = Ridge().fit(X_train,y_train)
线性回归中的score为R^2
岭回归的结果,训练集分数可能低于线性回归,但测试集分数一般高于线性回归
默认岭回归的alpha = 1.0
岭回归惩罚了系数的L2范数或w的欧式长度
增大alpha会使得各个系数wi更加趋向0,从而提高泛化性能
可以比较alpha为10 和 0.1的scores
当岭回归alpha = 0时,即线性回归

7.学习曲线:回归问题中,横轴为训练集大小,纵轴为score(R^2),绘制训练集和测试集曲线

8.如果有足够多的数据,正则化就不太重要了

9.线性回归防止过拟合可以采用Lasso回归(L1正则化)
因为Lasso会使得部分特征的系数(w)为0,所以相当于做特征筛选
只呈现重要的特征
from sklearn,linear_model import Lasso
ridge = Lasso().fit(X_train,y_train)
默认的alpha = 1
可能会欠拟合(训练集和测试集的score都不高)
我们此时应该减小alpha,增大max_iter(运行迭代的最大次数)
from sklearn,linear_model import Lasso
ridge = Lasso(alpha = 0.1,max_iter = 100000).fit(X_train,y_train)
如果alpha太小,则可能过拟合,即与线性回归效果相似

10.Lasso回归和岭回归一般会首选后者
如果特征很多,认为只有几个是重要的,则选择Lasso
如果为了模型的可解释性,选择Lasso(因为类似特征选择)

11.sklearn中逻辑回归和线性支持向量机都默认使用L2正则化
若换为L1正则化:
LogisticRegression(penalty = "l1").fit(X_train,y_train)
使用参数C表示正则化强度,C越小,正则化越强。
默认C=1
LogisticRegression(C=100).fit(X_train,y_train)
有时训练集测试集分数都很高,但是分数接近,可能是欠拟合
此时增大C,使正则化减弱看看结果分数

12.线性模型训练速度非常快,预测速度也很快,适合在大数据集上使用,也适合稀疏数据

13.朴素贝叶斯分类器速度更快(相比于线性分类器逻辑斯特回归和线性支持向量机)
但是其泛化能力比线性分类器差

14.sklearn中提供三种朴素贝叶斯分类器
GaussianNB课用于任意连续数据
BernoulliNB假定输入数据为二分类数据
MultinomialNB假定输入的数据为计数数据(即每个特征代表某个对象的整数计数,比如一个单词在句中出现的次数)
后两个主要用于文本分类

15.决策树也可用于回归任务,预测时基于每个节点的测试对树进行遍历,最终找到新数据点所属的叶节点
这一数据点的输出即为此叶节点中所有训练点的平均目标值。

16.决策树可以采用预剪枝和后剪枝来防止过拟合
sklearn中只实现了预剪枝
预剪枝限制条件可以包括
限制树的最大深度
限制叶节点的最大数目
规定一个节点中数据点的最小数目防止继续划分

17.决策树graphviz可视化图中的samples给出该节点中的样本数
values给出每个类别的样本数

18.特征重要性指标可以看决策树的特征重要性,每个特征值介于0和1之间
tree.feature_importance_
且加和为1
0表示特征没用到
1表示完美预测目标值

19.决策树回归不能外推,也不能在训练数据范围之外进行预测

20.决策树优点:
(1)较小的树模型可视化容易,容易解释理解
(2)算法不受数据缩放影响(因为每个特征单独处理),特征不需要预处理(归一化 标准化)
特别是特征尺度大小相差大或者二元特征和连续特征同时存在时
决策树缺点:
既使预剪枝,也经常过拟合,泛化能力差,所以大多数情况采用集成模型代替单棵决策树。

原文发布时间为:2018-07-20
本文作者:王大伟
本文来自云栖社区合作伙伴“Python爱好者社区”,了解相关信息可以关注“Python爱好者社区

相关文章
|
8月前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
1326 109
|
9月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
月之暗面发布开源模型Kimi K2,采用MoE架构,参数达1T,激活参数32B,具备强代码能力及Agent任务处理优势。在编程、工具调用、数学推理测试中表现优异。阿里云PAI-Model Gallery已支持云端部署,提供企业级方案。
543 0
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
|
人工智能 JSON 算法
【解决方案】DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen 系列是阿里云人工智能平台 PAI 推出的蒸馏语言模型系列,包括 DistilQwen2、DistilQwen2.5、DistilQwen2.5-R1 等。本文详细介绍DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践。
|
10月前
|
机器学习/深度学习 算法 安全
差分隐私机器学习:通过添加噪声让模型更安全,也更智能
本文探讨在敏感数据上应用差分隐私(DP)进行机器学习的挑战与实践。通过模拟DP-SGD算法,在模型训练中注入噪声以保护个人隐私。实验表明,该方法在保持71%准确率和0.79 AUC的同时,具备良好泛化能力,但也带来少数类预测精度下降的问题。研究强调差分隐私应作为模型设计的核心考量,而非事后补救,并提出在参数调优、扰动策略选择和隐私预算管理等方面的优化路径。
694 3
差分隐私机器学习:通过添加噪声让模型更安全,也更智能
|
9月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署gpt-oss系列模型
阿里云 PAI-Model Gallery 已同步接入 gpt-oss 系列模型,提供企业级部署方案。
|
10月前
|
机器学习/深度学习 人工智能 算法
Post-Training on PAI (4):模型微调SFT、DPO、GRPO
阿里云人工智能平台 PAI 提供了完整的模型微调产品能力,支持 监督微调(SFT)、偏好对齐(DPO)、强化学习微调(GRPO) 等业界常用模型微调训练方式。根据客户需求及代码能力层级,分别提供了 PAI-Model Gallery 一键微调、PAI-DSW Notebook 编程微调、PAI-DLC 容器化任务微调的全套产品功能。
|
11月前
|
存储 人工智能 运维
企业级MLOps落地:基于PAI-Studio构建自动化模型迭代流水线
本文深入解析MLOps落地的核心挑战与解决方案,涵盖技术断层分析、PAI-Studio平台选型、自动化流水线设计及实战构建,全面提升模型迭代效率与稳定性。
520 6
|
11月前
|
存储 机器学习/深度学习 自然语言处理
避坑指南:PAI-DLC分布式训练BERT模型的3大性能优化策略
本文基于电商搜索场景下的BERT-Large模型训练优化实践,针对数据供给、通信效率与计算资源利用率三大瓶颈,提出异步IO流水线、梯度压缩+拓扑感知、算子融合+混合精度等策略。实测在128卡V100集群上训练速度提升3.2倍,GPU利用率提升至89.3%,训练成本降低70%。适用于大规模分布式深度学习任务的性能调优。
549 3
|
11月前
|
缓存 人工智能 负载均衡
PAI 重磅发布模型权重服务,大幅降低模型推理冷启动与扩容时长
阿里云人工智能平台PAI 平台推出模型权重服务,通过分布式缓存架构、RDMA高速传输、智能分片等技术,显著提升大语言模型部署效率,解决模型加载耗时过长的业界难题。实测显示,Qwen3-32B冷启动时间从953秒降至82秒(降幅91.4%),扩容时间缩短98.2%。

推荐镜像

更多