
机器学习
文章平均质量分 64
闪闪发亮的小星星
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
t-SNE:可视化效果最好的降维算法
t-SNE的主要用途是可视化和探索高维数据。它由Laurens van der Maatens和Geoffrey Hinton在JMLR第九卷(2008年)中开发并出版。t-SNE的主要目标是将多维数据集转换为低维数据集。相对于其他的降维算法,对于数据可视化而言t-SNE的效果最好。如果我们将t-SNE应用于n维数据,它将智能地将n维数据映射到3d甚至2d数据,并且原始数据的相对相似性非常好。与PCA一样,t-SNE不是线性降维技术,它遵循非线性,这是它可以捕获高维数据的复杂流形结构的主要原因。原创 2024-05-16 16:57:12 · 487 阅读 · 0 评论 -
libsvm-简单使用
LibSVM 是一个广泛使用的支持向量机 (SVM) 库,由台湾大学的林智仁(Chih-Jen Lin)和台湾大学的林睿杰(Chih-Hung Hsu)开发。它提供了一个简单而强大的接口,用于训练和测试 SVM 模型,支持分类、回归和密度估计。以下是 LibSVM 的一些主要特点和优势:支持向量机的实现:LibSVM 实现了支持向量机算法,包括线性核函数、多项式核函数和径向基函数(RBF)核函数等,使用户能够在不同类型的数据集上进行分类、回归和密度估计。多种编程语言接口:LibSVM 提供了多种编程语言的接原创 2024-05-07 10:35:20 · 442 阅读 · 0 评论 -
scikit_feature_selection实战
在进行李宏毅HW01作业时,需进行特征选择。选用scikit-learn 中的feature_selection.原创 2023-12-12 15:42:15 · 149 阅读 · 0 评论 -
scikit-learn-feature_selection
SelectFromModel是一个元转换器,可以与任何通过特定属性(如coef_, feature_importances_)或在拟合后通过一个可调用的importance_getter来为每个特性分配重要性的估计器一起使用。给定一个为特征分配权重的外部估计器(例如,线性模型的系数),递归特征消除(RFE)的目标是通过递归地考虑越来越小的特征集来选择特征。首先,在初始特征集上训练估计器,并通过任何特定属性(如coef_, feature_importances_)或可调用属性获得每个特征的重要性。原创 2023-12-12 11:47:23 · 121 阅读 · 0 评论 -
geatpy-遗传算法
同样是求解案例1的问题,这里我们在定义目标函数时不加ea.Problem.single标记。这意味着evalVars()传入的是一个Numpy ndarray二维数组。原创 2023-10-30 15:36:10 · 216 阅读 · 0 评论 -
激活函数作用以及 sigmoid和softmax
激活函数在神经网络中起着非常重要的作用,它的主要功能是引入非线性性质,使得神经网络可以学习和表示更加复杂的模式和关系。控制神经元的激活程度:激活函数可以控制神经元在不同输入值下的激活程度。例如,ReLU(Rectified Linear Unit)函数在输入大于零时被激活,而在输入小于等于零时被抑制。需要注意的是,选择合适的激活函数对于神经网络的训练和性能非常重要。不同类型的激活函数适用于不同的问题,应根据具体情况进行选择。此外,还需要注意梯度消失和爆炸的问题,避免梯度无法传播或引起数值不稳定性。原创 2023-10-27 16:01:00 · 375 阅读 · 0 评论 -
knn相似性搜索
【代码】knn相似性搜索。原创 2023-10-26 14:55:45 · 113 阅读 · 0 评论 -
损失函数和评估函数
损失函数是用于衡量模型在训练过程中预测结果与实际结果之间的差异的函数。它通过计算模型的预测值与实际值之间的距离或差异来 quantitatively 表示模型的性能好坏。损失函数通常被用作优化算法(如梯度下降)的目标函数,通过最小化损失函数来调整模型参数,使得模型的预测结果更加接近实际结果。评估函数也是用于衡量模型性能的指标,但与损失函数不同,评估函数是在模型训练完成后对模型进行综合评价的指标。评估函数可以用于比较不同模型的性能,或者判断模型是否满足特定应用需求。原创 2023-10-25 14:07:05 · 1119 阅读 · 0 评论 -
部分依赖图(Partial Dependence Plots)以及实战-疾病引起原因解释
接上篇,特征重要性解释特征重要性展示了每个特征发挥的作用情况,partial dependence plots可以展示一个特征怎样影响的了预测结果。前提同样是应用在模型建立完成后进行使用,概述如下:首先选中一个样本数据,此时想观察Ball Possession列对结果的影响。保证其他特征列不变,改变当前观察列的值,例如选择40%,50%,60%(大小)分别进行预测,得到各自的结果。对比结果就能知道当前列(Ball Possession)对结果的影响情况。包: pdpbox。原创 2023-09-14 17:08:57 · 3236 阅读 · 0 评论 -
特征工程建模可解释包(note)
一般情况下,使用集成算法去看特征重要性比较好。关注某一个特征,计算其permutation importance:训练好当前模型考虑特征A对模型结果的影响。将特征A打乱顺序,比较模型结果,误差是否变得更大。如果误差改变不大,说明该特征不重要,如果误差改变大,则重要。工具包 eli5。原创 2023-09-14 14:48:15 · 242 阅读 · 0 评论 -
评价指标和超参数调整进阶
(官网,建议认真看)原创 2023-09-14 14:20:23 · 247 阅读 · 0 评论 -
thunder gbm
增加树的数量、限制树的深度和节点分裂的样本数、增加特征的随机性等方法都可以用于控制模型的复杂度和泛化能力。这有助于增加模型的多样性,减少方差。较小的值可以增加树之间的多样性,减少特征间的相关性,但可能会导致模型的偏差增加。较大的值可以增加模型的表达能力,但也容易导致过拟合。较小的值可以限制模型的复杂度,减少过拟合风险,但可能会导致模型的偏差增加。较大的值可以增加模型的保守性,避免过拟合。较大的值可以增加模型的保守性,避免过拟合。增加树的数量可以提高模型的表达能力和稳定性,但也会增加训练时间和内存消耗。原创 2023-08-07 18:35:36 · 294 阅读 · 0 评论 -
【机器学习】处理样本不平衡的问题
通常,在数据集噪声较小的情况下,可以用BalanceCascade,可以用较少的基分类器数量得到较好的表现(基于串行的集成学习方法,对噪声敏感容易过拟合)。需要注意的是,过采样可能会导致模型对少数类别样本过拟合的问题,因此在应用过采样之前,需要仔细评估其对模型性能的影响,并选择适当的评估指标来评估模型的效果。值得注意的是,欠采样可能会导致信息丢失,因此在应用欠采样之前,需要仔细评估其对模型性能的影响,并选择适当的评估指标来评估模型的效果。:精确率是指模型预测为正例的样本中,实际为正例的比例。原创 2023-08-02 15:57:15 · 1748 阅读 · 1 评论 -
K折交叉验证
模型在一套训练集和数据集上表现优秀,不能说明问题,只有在众多不同的训练集和测试集上表现都优秀,模型才具有真正的泛化能力。通过交叉验证,验证模型的泛化能力,帮助我们认识模型。原创 2023-06-29 21:04:21 · 315 阅读 · 0 评论 -
样本不均衡问题 (待消化整理)
介绍从样本层面 数据层面 模型层面 分别怎么处理。原创 2023-06-14 18:10:49 · 86 阅读 · 0 评论 -
异常值处理
机器学习 第五篇:异常值分析【机器学习】使用 IQR、Z 分数、LOF 和 DBSCAN 检测异常值原创 2023-06-14 17:29:06 · 101 阅读 · 0 评论 -
ML03 网页数据抓取 (note)
添加链接描述。原创 2023-05-16 10:37:00 · 388 阅读 · 0 评论 -
LimuML02数据获取
数据是否足够,如果不够,使用数据生成方法。原创 2023-05-16 08:38:27 · 73 阅读 · 0 评论 -
【机器学习快速入门】3 交叉验证与网格搜索
虽然将数据划分为训练集、测试集但这种方法对数据的划分相当敏感。为了得到更客观的正确率 (不一定正确率更高),我们可以使用交叉验证 + 网格搜索方式最大程度上来获取客观的最优解。原创 2023-05-04 10:45:50 · 423 阅读 · 0 评论 -
【机器学习快速入门】2 Pipeline构建机器学习工作流
1.Pipeline都是执行各学习器中对应的方法,如果该学习器没有该方法,则报错2. 假设该pipeline有n个学习器,fit依次对前n-1的学习器执行fit和transform方法,并且对最后一个学习器执行fit方法3.predict先对n-1学习器执行transform方法,然后执行最后一个学习器的predict方法4. score先对n-1学习器执行transform方法,然后执行最后一个学习器的score方法。原创 2023-05-04 10:29:03 · 313 阅读 · 0 评论 -
随机森林及其超参数调整(1)
基于GridsearchCV的超参数调整。原创 2023-03-30 11:24:42 · 4451 阅读 · 0 评论 -
决策树与集成学习1-信息熵与手写决策树
鸢尾花包含三个花的品种(Iris setosa(山鸢尾),Iris virginica(北美鸢尾),Iris versicolor(变色鸢尾))每个品种各50个样本,每个样本四个特征参数(萼片长度和宽度、花瓣长度和宽度)结论:分类的质量依赖信息熵,信息熵越小则说明分类的效果越好。进入windows命令行界面,输入 dot -version,然后按回车,如果显示graphviz的相关版本信息,则安装配置成功。决策树思想非常朴素,类似程序设计中的if–else结构,最早的决策树就是利用这类结构分类数据。原创 2023-03-29 11:23:55 · 298 阅读 · 0 评论 -
数据挖掘01:常用机器学习算法体系
常用机器学习算法体系原创 2023-01-08 22:21:39 · 195 阅读 · 0 评论 -
李宏毅机器学习课程学习笔记-overfit
李宏毅机器学习2022课程学习笔记-L2-01overfit概要具体内容模型偏差 Model bias优化函数问题 Optimization Issue如何确认是model bias 还是 Optimization Issue?过拟合 overfitting适宜的模型复杂性训练集/验证集/测试集N折交叉验证:用途一: 模型选择用途二:模型评估两种用途的关系交叉验证与过拟合的关系总结交叉验证的使用方法参考概要本节针损失值大小对应的不同情况进行讨论:当Loss 值在训练集上偏大时,可从两方面进行解决:原创 2022-04-15 21:38:22 · 721 阅读 · 0 评论 -
时间序列预测(1)-什么是时间序列预测
时间序列基础1 概述什么是时间序列?时间序列是按时间的先后顺序排列的⼀串数值。以上描述,是时间序列⼀个⽐较直观的感受。从严格的数学意义上来讲,我们把时间序列 看成了⼀串随机变量。(X1, X2, ⋯ , Xt)每⼀个 Xi都代表了⼀个随机变量(注意这⾥和机器学习问题的区别P(Y|X))。⼀个随机变量⼀般需要采样到多次才能⽐较好的估计这个随机变量的⼀些性质。但对于时间序列问题,我们只能采样到⼀次(因为历史不可回溯,也就是观察到它的值⼀次),采样到的就 是时间序列的观察值。这⼀条观察值形成的序列,也原创 2022-04-13 22:18:29 · 6040 阅读 · 0 评论 -
绘制函数$y = f(x) = x^3 - \frac{1}{x}$和其在$x = 1$处切线的图像
绘制函数y=f(x)=x3−1xy = f(x) = x^3 - \frac{1}{x}y=f(x)=x3−x1和其在x=1x = 1x=1处切线的图像from matplotlib import pyplot as pltdef f(x): return x**3-1/xx = np.arange(0, 3, 0.1)plt.xlabel('x')plt.ylabel('f(x)')plt.plot(x, f(x),"-")plt.plot(x, 4 * x - 4,"--")p原创 2022-03-19 22:23:51 · 2250 阅读 · 0 评论 -
安装anaconda及安装pytorch
安装anaconda及pytorch下载安装anaconda配置环境变量测试是否安装成功配置清华源安装pytorch在anaconda下新建一个pytorch 虚拟环境测试pytorch是否安装成功conda常用操作参考下载安装anaconda官网下载安装包,安装,系统变量不勾选。安装anacoda安装过程十分简单,一路next,然后选择合适的路径即可最后skip和next,finish就行了配置环境变量需要配置三个环境变量即可,分别是:注意:具体的安装路径以自己的为准,以下是我的安装路径原创 2021-11-25 21:01:27 · 2250 阅读 · 0 评论 -
机器学习模型部署PMML
PMML 简介预测模型标记语言PMML(Predictive Model Markup Language)是一套与平台和环境无关的模型表示语言,是目前表示机器学习模型的实际标准。从2001年发布的PMML1.1,到2019年最新4.4,PMML标准已经由最初的6个模型扩展到了17个模型,并且提供了挖掘模型(Mining Model)来组合多模型。PMML 标准介绍PMML是一套基于XML的标准,通过 XML Schema 定义了使用的元素和属性,主要由以下核心部分组成:数据字典(Data Dict原创 2023-03-29 16:41:21 · 1424 阅读 · 0 评论 -
手写数字图像识别
1 目标通过KNN算法对手写数字图像进行识别。2 思路(1) 删除train文件夹中标签与图像明显错误的样本;(2) 样本格式多种多样,将样本统一处理成 28*28 位深度为8;(3) 将图像样本转换为txt格式;(4) 将所用样本转换为数组矩阵,形成训练样本;(5) 提取文件名的首字符,形成label;(6) 基于KNN算法,在训练集上训练,并保存训练好的模型“knn.pkl”;(7) 基于训练好的模型,在测试集上测试3 理论基础3.1 KNN 算法KNN作为一种有监督分类算法,是原创 2021-07-11 16:32:23 · 1727 阅读 · 0 评论 -
SVM入门-简单机理+demo
```pythonimport numpy as npimport matplotlib.pyplot as pltfrom scipy import statsimport seaborn as sns#import plot_svc_decision_function from plot_svm_boundaryfrom plot_svm_boundary import plot_svc_decision_function##用sklearn 工具包中的datasers 生成数据集..原创 2020-07-30 18:34:18 · 403 阅读 · 0 评论 -
TypeError: Input 'b' of 'MatMul' Op has type float32 that does not match type float64 of argument 'a
显示,TypeError: Input ‘b’ of ‘MatMul’ Op has type float32 that does not match type float64 of argument 'a,这是由于两个相乘矩阵类型不匹配,调试一下发现x矩阵为tf.float64,W矩阵为tf.float32,改类型用tf.cast()函数修改前:a=tf.nn.sigmoid(tf.matm...原创 2020-04-16 13:48:38 · 672 阅读 · 0 评论