Python机器学习
Python机器学习——学习记录
zhangbin_237
这个作者很懒,什么都没留下…
展开
-
【Python机器学习】无监督学习(理论知识)
无监督学习包括没有已知输出、没有“老师指导”学习算法的各种机器学习。在无监督学习中,学习算法只有输入数据,并需要从这些数据中提取知识。原创 2024-01-19 19:08:32 · 504 阅读 · 0 评论 -
【Python机器学习】多分类问题的不确定度
decision_function和predict_proba也适用于多分类问题原创 2024-01-19 18:19:58 · 482 阅读 · 0 评论 -
【Python机器学习】分类器的不确定估计——预测概率
predict_proba的输出是每个类别的概率,通常比decision_function的输出更容易理解,对于二分类问题,它的形状始终是(n_samples,2)。原创 2024-01-13 18:22:42 · 461 阅读 · 0 评论 -
【Python机器学习】分类器的不确定估计——决策函数
scikit-learn接口的分类器能够给出预测的不确定度估计,一般来说,分类器会预测一个测试点属于哪个类别,还包括它对这个预测的置信程度。原创 2024-01-13 18:02:12 · 417 阅读 · 0 评论 -
【Python机器学习】深度学习(神经网络)的优缺点
在机器学习的许多应用中,神经网络是最先进的模型之一,它的主要优点之一是能够获取大量数据中包含的信息,并构建无比复杂的模型。给定足够的计算时间和数据,并且仔细调节参数,神经网络通常可以打败其他机器学习算法。原创 2024-01-12 23:29:52 · 528 阅读 · 0 评论 -
【Python机器学习】深度学习——调参
神经网络学到的决策边界完全是非线性的,但相对平滑,默认情况下,MLP使用100个隐结点,可以减少数量,降低模型复杂度,对于小型数据集来说,仍然可以得到很好的结果。原创 2024-01-12 17:43:30 · 514 阅读 · 0 评论 -
【Python机器学习】深度学习——一些理论知识
深度学习在很多机器学习应用中都有巨大的潜力,但深度学习算法往往经过精确调整,只适用于特定的使用场景。先学习一些简单的方法,比如用于分类和回归的多层感知机(MLP),它可以作为研究更复杂的深度学习方法的起点。MPL也被称为(普通)前馈神经网络,有时也简称为神经网络。原创 2024-01-12 14:16:38 · 602 阅读 · 0 评论 -
【Python机器学习】SVM的优缺点
核支持向量机是非常强大的模型,SVM允许决策边界很复杂,即使数据只有几个特征。它在低维数据和高维数据上的表现都很好,但对样本个数的缩放表现不好。在有多大10000个样本的数据上运行SVM可能表现良好,但更高数量级的数据上,在运行时间和内存使用方面可能面临调整。原创 2024-01-11 10:56:10 · 364 阅读 · 0 评论 -
【Python机器学习】SVM——预处理数据
为了解决特征特征数量级差异过大,导致的模型过拟合问题,有一种方法就是对每个特征进行缩放,使其大致处于同一范围。核SVM常用的缩放方法是将所有的特征缩放到0和1之间。原创 2024-01-11 10:29:45 · 1003 阅读 · 1 评论 -
【Python机器学习】SVM——调参
gamma参数用于控制高斯核的宽度,它决定了点与点之间“靠近”是指多大的距离,C参数是正则化参数,与线性模型类似,它限制了每个点的重要性(dual_coef_)。原创 2024-01-11 09:58:45 · 962 阅读 · 0 评论 -
【Python机器学习】SVM——一些理论知识
向数据中添加非线性特征,可以让线性模型变得强大,但是通常来说我们不知道要添加哪些特征,而且添加许多特征的计算开销会很大。有一种技巧可以在更高维度中学习分类器,而不用实际计算可能非常大的新的数据表示,这种技巧叫做核技巧,它的原理是直接计算扩展特征表示中数据点的距离(内积),而不用实际对扩展进行计算。原创 2024-01-10 19:10:17 · 344 阅读 · 0 评论 -
【Python机器学习】SVM——线性模型与非线性特征
SVM(核支持向量机)是一种监督学习模型,是可以推广到更复杂模型的扩展,这些模型无法被输入空间的超平面定义。原创 2024-01-10 16:15:31 · 593 阅读 · 0 评论 -
【Python机器学习】决策树集成——梯度提升回归树
梯度提升回归树通过合并多个决策树来构建一个更为强大的模型。虽然名字里有“回归”,但这个模型既能用于回归,也能用于分类。与随机森林方法不同,梯度提升采用连续的方式构造树,每棵树都试图纠正前一棵树的错误。默认情况下,梯度提升回归树中没有随机化,而是用到了强预剪枝。梯度提升树通常使用深度很小(1-5之间),这样的模型占用内存小,预测速度也更快。原创 2024-01-10 11:56:27 · 1505 阅读 · 0 评论 -
【Python机器学习】决策树集成——随机森林
随机森林本质上是许多决策树的集合,其中每棵树都和其他数略有不同,随机森林背后的思想是:每棵树的预测可能都比较好,但是可能对部分数据过拟合,如果构造很多树,并且每棵预测的都很好,但都以不同的方式过拟合,那么可以对这些树的结果取平均来降低过拟合。原创 2024-01-09 18:36:23 · 1730 阅读 · 0 评论 -
【Python机器学习】决策树的优缺点
控制决策树模型复杂度的参数是预剪枝参数,它在树完全展开之前停止树的构造原创 2024-01-09 15:04:09 · 391 阅读 · 0 评论 -
【Python机器学习】用于回归的决策树
用于回归的决策树与用于分类的决策树类似,在DecisionTreeRegressor中实现。DecisionTreeRegressor不能外推,也不能在训练数据范围之外的数据进行预测。原创 2024-01-09 14:24:56 · 731 阅读 · 0 评论 -
【Python机器学习】决策树——树的特征重要性
利用一些有用的属性来总结树的工作原理,其中最常用的事特征重要性,它为每个特征树的决策的重要性进行排序。对于每个特征来说,它都是介于0到1之间的数字,其中0代表“根本没有用到”,1代表“完美预测目标值”。特征重要性的求和为1。原创 2024-01-09 14:08:46 · 957 阅读 · 0 评论 -
【Python机器学习】线性模型——线性回归
线性回归,又叫普通最小二乘法,是回归问题最简单也是最经典的线性方法。线性回归寻找参数w和b,使得对训练集的预测值与真实的回归目标值y之间的均方误差最小。原创 2024-01-06 11:44:20 · 374 阅读 · 0 评论 -
【Python机器学习】对二维数据集的决策边界
对于二维数据集,可以在xy平面上画出所有可能的测试点的预测结果,根据平面中的每个点所属的类别对平面进行角色,可以查看决策边界,也就是算法对类别0和类别1的分界线。原创 2024-01-05 17:20:02 · 337 阅读 · 0 评论 -
【Python机器学习】线性模型的优缺点
线性模型的主要参数是正则化参数。在回归模型里是alpha,在一些分类模型里是C。alpha越大或C越小,说明模型越简单,通常在对数尺度上对alpha和C进行调节。原创 2024-01-07 15:11:03 · 438 阅读 · 0 评论 -
【Python机器学习】k近邻——k近邻分类
k-NN算法最简单的版本是只考虑一个最近邻,也就是想要预测的数据点最近的训练数据点,预测结果就是这个训练数据点的已知输出。原创 2024-01-04 23:09:32 · 444 阅读 · 0 评论 -
【Python机器学习】理论知识:决策树
决策树是广泛用于分类和回归任务的模型,本质上是从一层层if/else问题中进行学习,并得出结论。这些问题类似于“是不是”中可能问到的问题。原创 2024-01-08 18:20:02 · 763 阅读 · 0 评论 -
【Python机器学习】评估模型
以鸢尾花数据为例,将测试数据中的每朵鸢尾花进行预测,并将预测结果与已知标签结果进行对比,可以计算精度来衡量模型的优劣。精度就是品种预测正确的结果占比。原创 2024-01-04 14:55:23 · 393 阅读 · 0 评论 -
【Python机器学习】构建简单的k近邻算法模型
k近邻算法是一个很容易理解的算法,构建模型只需要保存训练数据集。要对一个新的数据点做出预测,算法会在训练集中寻找与这个新数据点距离最近的数据点,然后将找到的数据点的标签赋值给这个新数据点。原创 2024-01-03 18:10:44 · 697 阅读 · 0 评论 -
【Python机器学习】朴素贝叶斯分类器
朴素贝叶斯分类器是与线性模型非常相似的一种分类器,它的训练速度往往更快,但是泛化能力比线性分类器稍差。原创 2024-01-07 16:36:32 · 483 阅读 · 0 评论 -
【Python机器学习】构造决策树
为了防止过拟合,有两种常见策略:1、尽早停止树的生长,也叫预剪枝2、先构造树,但随后删除或折叠信息量很少的结点,也叫后剪枝。预剪枝的限制条件可能包含限制树的最大深度、限制叶结点的最大数目、规定一个结点中数据点的最小数目。原创 2024-01-08 19:48:39 · 1066 阅读 · 0 评论 -
【Python机器学习】线性模型——用于多分类的线性模型
很多线性分类模型只使用与二分类问题,将二分类算法推广到多分类算法的一种常见方法是“一对其余”方法。在“一对其余”方法中,对每个类别都学习一个二分类模型,将这个类别和其他类别尽量区分,这样就生成了与类别数相同的二分类模型数。在测试点上运行所有分类器进行预测,在对应类别上分数最高的分类器“胜出”,将这个类别标签范围作为预测结果。原创 2024-01-07 14:48:19 · 631 阅读 · 0 评论 -
【Python机器学习】理论知识:泛化、过拟合、欠拟合
泛化、过拟合、欠拟合原创 2024-01-04 15:50:09 · 458 阅读 · 0 评论 -
【Python机器学习】线性模型——用于回归的线性模型
对于回归问题,线性模型预测的一般公式为:y=w[0]*x[0]+w[1]*x[1]+…………+w[p]*x[p]+b这里的x[0]到x[p]表示的事单个数据点的特征,w和b是学习模型的参数,y是模型的预测结果原创 2024-01-06 10:47:27 · 564 阅读 · 0 评论 -
【Python机器学习】线性模型——用于二分类的线性模型
线性模型也广泛用于分类问题,对于二分类问题,可以用以下公式进行预测:y=w[0]*x[0]+w[1]*x[1]+…………+w[p]*x[p]+b>0公式与现行回归的公式非常类似,但没有返回特征的加权求和,而是为预测设置了阈值。如果函数值小于0,就预测类别-1,否则预测类别+1。原创 2024-01-07 10:52:08 · 628 阅读 · 0 评论 -
【Python机器学习】线性模型——lasso
除了岭回归,还有一种正则化的线性回归是lasso,与岭回归相同,使用lasso也是约束系数使其接近于0,但方法不同,叫做L1正则化。L1正则化的结果是使用lasso时某些系数刚好为0。说明某些特征被模型完全忽略。原创 2024-01-06 15:05:34 · 405 阅读 · 0 评论 -
【Python机器学习】k近邻——模型复杂度与泛化能力的关系
以某数据进行研究,先将数据集分为训练集和测试集,然后用不同的邻居数对训练集合测试集的新能进行评估:原创 2024-01-05 17:51:28 · 350 阅读 · 0 评论 -
【Python机器学习】k近邻——k近邻回归
k近邻算法还可以用于回归任务,如果单一近邻,预测结果就是最近邻的目标值,使用多个近邻时,预测结果为这些邻居的平均值。原创 2024-01-05 18:37:21 · 431 阅读 · 0 评论 -
【Python】Graphviz的安装和使用
graphviz包可以用来决策树可视化,只安装包之后直接import使用会报错,因为graphviz是一个要单独安装的软件。原创 2024-01-08 19:37:32 · 621 阅读 · 0 评论 -
【Python机器学习】线性模型——岭回归
岭回归也是一种用于回归的线性模型,它的预测公式与线性回归相同,但是在岭回归里,对于系数的选择不仅要在训练数据上得到好的预测结果,而且还要拟合附加约束,还希望系数尽量小,这意味着每个特征对输出的影响应该尽可能小,同时仍给出很好的预测结果。这种约束是所谓的正则化的一个例子。原创 2024-01-06 14:14:34 · 445 阅读 · 0 评论 -
【Python机器学习】理论知识:分类与回归
监督机器学习问题主要有两种:分类、回归。原创 2024-01-04 15:19:28 · 476 阅读 · 0 评论 -
【Python机器学习】k近邻的优缺点
neighbors分类器有两个重要参数:邻居个数和数据点之间距离的度量方法。实践中使用较小的邻居个数(3、5个)往往可以取到比较好的结果。原创 2024-01-05 18:44:29 · 347 阅读 · 0 评论 -
【Python机器学习】观察数据&散点图矩阵
构建机器学习模型前,通常要检查数据,判断不用机器学习能不能轻松完成任务,或者需要的信息有没有包含在数据中。检查数据也是发现异常值和特殊值的好办法。原创 2024-01-03 16:08:03 · 801 阅读 · 0 评论 -
【Python机器学习】鸢尾花分类——鸢尾花数据集
背景:鸢尾花会有3种分类(setosa、versicolor、virginica),对于测量数据,可以确定每朵鸢尾花所属的品种,目标是构建机器学习模型,从已知鸢尾花测量数据中进行学习,从而预测鸢尾花的品种。这是一个监督学习问题,要从多个选项中预测其中一个,这是一个分类问题的示例,可能的输出叫做类别,对于一个数据点来说,它的品种叫做标签。原创 2023-12-28 17:47:47 · 722 阅读 · 0 评论 -
【Python机器学习】衡量模型是否成功:训练数据&测试数据
在机器学习中,为了衡量模型是否成功,通常做法是吧将收集好的带标签数据分成两部分,一部分用于构建机器学习模型,叫做训练数据或训练集;其余数据用来评估模型性能,叫做测试数据、测试集或者留出集。原创 2024-01-03 15:47:59 · 380 阅读 · 0 评论