自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一蓑烟雨任平生

一个老男孩的自言自语

  • 博客(114)
  • 资源 (4)
  • 收藏
  • 关注

原创 1.PyTorch数据结构Tensor常用操作

HalfTensor是专门为GPU版本设计的,同样的元素个数,显存占用只有FloatTensor的一半,所以可以极大缓解GPU显存不足的问题,但由于HalfTensor所能表示的数值大小和精度有限。函数新建tensor是最复杂多变的方式,它既可以接收一个list,并根据list的数据新建tensor,也能根据指定的形状新建tensor,还能传入其他的tensor,下面举几个例子。不会修改自身的数据,返回的新tensor与源tensor共享内存,也即更改其中的一个,另外一个也会跟着改变。

2023-12-07 14:27:57 270 1

原创 时间序列之周期性

针对时间序列的趋势和季节性,我们可以很容易地利用“时间相关”的属性进行建模,即直接从时间索引中得出特征。但是有些情况下,一些时间序列只能利用“序列相关”属性,即使用序列的历史值作为特征。如下图所示,随着时间的推移,这些时间序列的结构可能并不明显,但如果与历史进行对比的话,结构就会很清晰。

2024-02-08 18:01:14 1631

原创 时间序列之季节性

当一个时间序列的均值有规律的、周期性的变化时,我们就说这个时间序列表现出季节性。季节性的变化通常是遵循时间的——以一天、一周或一年为单位重复。这里介绍两种季节性特征。一种适用于观测较少的季节,例如在一周中每日观测的序列;另一种是傅里叶特征,适用于观测较多的季节,例如在一年中每日观测的序列。

2024-02-07 18:38:22 2180

原创 时间序列之趋势

在时间序列中,趋势成分表示序列均值持续的、长期的变化。趋势是一个序列中移动最慢的部分,但却代表最重要的时间尺度。在产品销售的时间序列中,随着越来越多的人逐年了解该产品,市场扩张就可能会产生增长的趋势。

2024-02-06 16:38:26 695

原创 机器学习中常用的性能度量—— ROC 和 AUC

通常我们用泛化能力来评判一个模型的好坏,通俗的说,泛化能力是指一个机器学期算法对新样本(即模型没有见过的样本)的举一反三的能力,也就是学以致用的能力。举个例子,高三的学生在高考前大量的刷各种习题,像五年高考三年模拟、三年高考五年模拟之类的,目的就是为了在高考时拿到一个好的分数,高考的题目就是新题,一般谁也没做过,平时的刷题就是为了掌握试题的规律,能够举一反三、学以致用,这样面对新的题目也能从容应对。这种规律的掌握便是泛化能力,有的同学很聪明,考上名校,很大程度上是该同学的泛化能力好。

2024-02-04 14:49:12 1496

原创 Flask 之 SQLAlchemy

SQLAlchemy 是 Python 下非常好的 ORM 框架,支持使用 MySQL、PostgreSQL、SQLite 等主流数据库。Flask-SQLAlchemy 基于 SQLAlchemy 对 Flask 进行了适配,使其在 Flask 下的使用变得简单。

2024-01-31 00:10:09 1834

原创 Flask 之 Jinjia2 模板引擎必知必会

模板的作用是内容注入、页面继承与包含,Jinja2 模板引擎为此实现了一整套完善的解决方案。在使用模板时,所有静态资源应放置在 static 资源目录下,模板页面应放置在 templates 模板目录下。

2024-01-29 19:11:18 841

原创 5. seaborn-构建结构化多图网络

在探索中等维度数据时,经常需要在数据集的不同子集上绘制同一类型图的多个实例,这种技术有时被称为“网格”绘图,可以从复杂数据中快速提取大量信息。Matplotlib 为此提供了很好的支持,seaborn 构建于此之上,可直接将绘图结构和数据集结构关系起来。要使用网格图功能,数据必须是 Pandas 数据框的形式,且为整洁形式,即用来绘图的数据框应该为每列一个变量,每一行一个观察的形式。

2024-01-21 21:49:29 922

原创 4. seaborn-线性关系可视化

Seaborn本身并不是为了统计分析而生的,seaborn中的回归图主要用于添加视觉指南,以帮助在探索性数据分析EDA中强调存在于数据集的模式。import numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport warningssns.set(style='whitegrid', color_codes=True)plt.rc( "figure", autolayout=True, f

2024-01-21 19:46:04 877

原创 CatBoost原理简介

首先会计算数据的统计量。计算某个类别出现的概率,加上超参数,生成新的数值型特征。这一策略要求同一标签数据不能排列在一起(即先全是0之后全是1这种方式),训练之前需要打乱数据集。使用数据的不同排列(实际上是4个)。在每一轮建立树之前,先扔一轮骰子,决定使用哪个排列来生成树。考虑使用类别特征的不同组合。例如颜色和种类组合起来,可以构成类似于blue dog这样的特征。当需要组合的类别特征变多时,CatBoost只考虑一部分combinations。在选择第一个节点时,只考虑选择一个特征,例如A。

2024-01-15 16:20:42 1363

原创 用TF-IDF处理文本数据

Term Frequency (tf, 词频):给出语料库中每个文档中单词出现的频率。tfijnij∑knijtfij​∑k​nij​nij​​Inverse Data Frequency(idf, 逆数据频率)idfωlogNdftidfωlogdft​N​结合这两者,我们得出了语料库中文档中单词的TF-IDF分数(ω\omegaωtfij×logNdfitfij​×。

2024-01-11 13:32:21 944

原创 BPE(Byte-Pair Encoding )代码实现

BPE是使用最广泛的sub-word tokenization算法之一。尽管贪婪,但它具有良好的性能,并被作为机器翻译等主流NLP任务的首选tokenize方法之一。

2024-01-11 12:26:01 606

原创 LightGBM原理和调参

在进行调参之前应该做好特征工程,确定特征后,更加数据规模和几个模型尝试的结果初步敲定这几个参数,然后使用或来调整max_depthnum_leavessubsamplereg_alphareg_lambda。其中重点要调节max_depth和num_leaves,并注意两者的关系,其次subsample和在[0-1000]之间去进行粗略的调整下即可,reg_alpha和reg_lambda在[0,1000]范围调整,最后比较好的模型这两个参数值不应过大,尤其是reg_alpha,过大需要查看特征。

2024-01-10 18:24:33 1523

原创 3. seaborn-可视化数据分布

在处理一组数据时,通常想做的第一件事就是了解变量的分布情况。这一章将简要介绍seaborn中用于检查单变量和双变量分布的一些工具。

2024-01-10 14:46:01 857

原创 2. seaborn-可视化分类数据

在seaborn中,有几种不同的方法可以对分类数据进行可视化。类似于relplot()与或者lineplot()之间的关系,有两种方法可以制作这些图。有许多axes-level函数可以用不同的方式绘制分类数据,还有一个接口catplot(),可以对它们进行统一的高级访问。将不同的分类图类型视为三个不同的家族,这是很有帮助的。下面我们将详细讨论,它们是:(with;

2024-01-10 14:41:16 1071

原创 1. seaborn-可视化统计关系

统计分析是了解数据集中的变量如何相互关联以及这些关系如何依赖于其他变量的过程。可视化是此过程的核心组件,这是因为当数据被恰当地可视化时,人的视觉系统可以看到指示关系的趋势和模式。这里介绍三个seaborn函数。我们最常用的是relplot()。这是一个的函数,可以用散点图和线图两种通用的方法来可视化统计关系。relplot()将FacetGrid与两个axes-levellineplot()

2024-01-10 13:28:01 884

原创 PCA主成分分析算法

在数据分析中,如果特征太多,或者特征之间的相关性太高,通常可以用PCA来记性降维。比如通过对原有10个特征的线性组合, 我们找出3个主成分,而且足以解释绝大多数的方差,该算法在高维数据集中被广泛应用。下面先给出几个相关的概念。

2024-01-09 00:33:29 947

原创 时间序列自相关性检验方法

时间序列的自相关是指一个给定时间点的时间序列中的值可能与另一个时间点的值具有相关性,也可以指序列数据中具有固定距离的任意两点之间是否存在相关性。

2024-01-05 17:01:08 2606

原创 时间序列平稳性相关检验方法

一般来说,平稳时间序列是指随着时间的推移具有相当稳定的统计特性的时间序列,特别是在均值和方差方面。平稳性可能是一个比较模糊的概念,将序列排除为不平稳可能比说序列是平稳的更容易。

2024-01-04 12:38:00 1832

原创 MongoDB常用基本操作

MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。方法可以通过参数指定排序的字段,并使用。

2024-01-01 13:50:55 1064

原创 大数定律&中心极限定理

切比雪夫不等式可以对随机变量偏离期望值的概率做出估计,这是大数定律的推理基础。以下介绍一个对切比雪夫不等式的直观证明。

2023-12-30 22:15:31 1002

原创 Bagging算法_随机森林Random_Forest

Bagging是并行式集成学习方法最著名的代表,这个名字是由BootstrapAGGregatING而来,顾名思义,该算法由Booststrap与Aggregating两部分组成。欲得到泛化性能强的集成,集成中的个体学习器应尽可能相互独立,一种可能的做法是对训练样本进行采样,产生若干不同的子集,再从每个数据子集中训练处一个学习器。同时,为了获得更好的集成,每个个体学习器不能太差。

2023-12-29 13:15:57 1041

原创 生存分析survival_analysis_COXmodel_python实现

生存分析(在工程中也称为可靠性分析)的目标是建立协变量与事件发生时间之间的联系。该算法起源于临床医学研究,往往主要目标是预测死亡时间,即生存。生存分析时一种回归问题(人们想要预测一个连续的值),它与传统回归的不同之处在于,部分训练数据只能被部分观察到(它们被删减了)。例如:考虑一项临床研究,该研究调查了冠心病,时间跨度为1年。如图所示。患者A在3个月后失去随访,无心血管事件记录,患者B在入组4个半月后发生事件,患者D在入组2个月后退出研究,患者E在研究结束前未发生任何事件。

2023-12-28 20:24:34 890

原创 统计学-参数估计

在抽样及抽样分布的基础上,根据样本统计量来推断总体参数。点估计:无法给出估计的可靠性度量。区间估计:在点估计的基础上,样本统计量加减估计误差,给出总体参数估计的一个范围。抽100个样本,95个包含总体参数,95%为置信水平。

2023-12-26 20:40:18 365

原创 统计学-假设检验

对于小样本,两者只能取舍。以真为假,需要重视;

2023-12-26 20:38:28 372

原创 BPE-NLP重要的编码方式

最终,我们将遍历所有token,并且我们的子字符串将被替换为我们token列表中已经存在的token组合。我们常用的语言模型词汇列表是很大的,但仍有可能出现不在里面的单词。对于未知(新)词,我们应用上述编码方法对新词进行tokenization,并将新词的token添加到我们的token字典中以备将来用到。在实际中,我们的预料库通常要大得多,从而我们能通过更多的迭代次数将token列表缩小更多的比例。算法的下一步是寻找最频繁的字符对,合并它们,并一次又一次地执行相同的迭代,直到达到我们预先设置的。

2023-12-26 13:54:14 922

原创 统计学常见概率分布

1.离散型随机变量E(X)=∑i=1nxipiE(X)=\sum_{i=1}^{n}x_ip_iE(X)=i=1∑n​xi​pi​D(X)=σ2=E(X2)−[E(X)]2D(X)=\sigma^2=E(X^2)-[E(X)]^2D(X)=σ2=E(X2)−[E(X)]21.1 二项分布nnn个相同试验;每次试验只有2个可能的结果;出现“成功”的概率ppp对每一次试验是相同的;试验相互独立;试验“成功”或“失败”可以计数;E(X)=npE(X)=npE(X)=npD(X)=npq

2023-12-25 20:23:02 867

原创 朴素贝叶斯法_naive_Bayes

于是朴素贝叶斯算法对条件概率分布作出了条件独立性的假设。这是一个非常强的假设,等于是说用于分类的特征在类确定的条件下都是条件独立的,具体地,条件独立性假设是。对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布;然后基于此模型,对给定的输入。由指数级数量的参数,其估计实际是不可能的。朴素贝叶斯算法在进行分类时,对给定的输入。,利用贝叶斯定理求出后验概率最大的输出。维向量的集合,输出空间为类标记集合。,通过学习到的模型计算后验概率分布。由于分母对所有的类都是相同的,所以。

2023-12-24 14:11:08 945

原创 聚类算法_kmeans_层次聚类

层次聚类假设类别之间存在层次结构,将样本聚到层次化的类中。分为聚合(agglomerative)聚类(自下而上)、分裂(divisive)聚类(自上而下),每个样本只属于一个类,所以层次聚类属于硬聚类。聚合聚类算法:n个样本组成的样本集合及样本之间的距离;输出:对样本集合的一个层次化聚类。ndij​Ddij​n∗n​n算法复杂度On3m,其中m是样本的维数,n是样本个数。K。

2023-12-22 19:52:13 457

原创 决策树相关算法_ID3_C45_信息熵_剪枝

决策树算法的主要思想源于Quinlan在1986年提出的ID3算法和1993年提出的C4.5算法,以及由Breiman等人在1984年提出的。

2023-12-22 00:03:43 1533

原创 AdaBoost提升方法

提升方法的基本思想是通过改变训练样本的权重学习多个分类器,并将这些线性分类器进行线性组合,提高分类性能。可知五分类样本在每一轮学习后权重会被放大。初始化训练数据的权值分布。构建基本分类器的线性组合。

2023-12-20 18:25:15 1014

原创 GBDT-梯度提升决策树

梯度提升决策树(Gradient Boosting Decision Tree, GBDT)是一种基于boosting集成学习思想的加法模型,训练时采用前向分布算法进行贪婪学习,每次迭代都学习一棵CART树来拟合之前t−1棵树的训练样本真实值的残差。

2023-12-20 16:36:48 1289

原创 5. PyTorch——数据处理模块

在PyTorch中,数据加载可通过自定义的数据集对象。数据集对象被抽象为类,实现自定义的数据集需要继承Dataset,并实现两个Python魔法方法:这里以Kaggle经典挑战赛"Dogs vs. Cat"的数据为例。"Dogs vs. Cats"是一个分类问题,判断一张图片是狗还是猫,其所有图片都存放在一个文件夹下,根据文件名的前缀判断是狗还是猫。这里返回的数据不适合实际使用,因其具有如下两方面问题:针对上述问题,PyTorch提供了torchvision1。它是一个视觉工具包,提供了很多视觉图像

2023-12-12 20:46:28 326

原创 4.PyTorch——优化器

一种是修改optimizer.param_groups中对应的学习率,另一种是更简单也是较为推荐的做法——新建优化器,由于optimizer十分轻量级,构建开销很小,故而可以构建新的optimizer。但是后者对于使用动量的优化器(如Adam),会丢失动量等状态信息,可能会造成损失函数的收敛出现震荡等情况。,并实现了自己的优化步骤。下面就以最基本的优化方法——随机梯度下降法(SGD)举例说明。中,其设计十分灵活,能够很方便的扩展成自定义的优化方法。PyTorch将深度学习中常用的优化方法全部封装在。

2023-12-08 14:48:56 328 1

原创 3.PyTorch——常用神经网络层

图像相关层主要包括卷积层(Conv)、池化层(Pool)等,这些层在实际使用中可分为一维(1D)、二维(2D)、三维(3D),池化方式又分为平均池化(AvgPool)、最大值池化(MaxPool)、自适应池化(AdaptiveAvgPool)等。除了这里的使用,图像的卷积操作还有各种变体,具体可以参照此处动图[^2]介绍。RNN和RNNCell层的区别在于前者一次能够处理整个序列,而后者一次只处理序列中一个时间点的数据,前者封装更完备更易于使用,后者更具灵活性。池化层:可视为一种特殊的卷积层,用来下采样。

2023-12-07 17:32:15 455

原创 2. PyTorch——Tensor和Numpy

tensor分为头信息区(Tensor)和存储区(Storage),信息区主要保存着tensor的形状(size)、步长(stride)、数据类型(type)等信息,而真正的数据则保存成连续数组。由于Numpy历史悠久,支持丰富的操作,所以当遇到Tensor不支持的操作时,可先转成Numpy数组,处理后再转回tensor,其转换开销很小。一般来说一个tensor有着与之相对应的storage, storage是在data之上封装的接口,便于使用,而不同tensor的头信息一般不同,但却可能使用相同的数据。

2023-12-07 14:30:52 385

原创 统计学之假设检验

事先确定显著水平为0.05,双边检验P

2023-11-27 17:29:06 414

原创 统计量及抽样分布

(1)样本均值反映总体X数学期望的信息,是最常用的统计量。(2)样本方差反映总体X方差的信息。(3)样本变异系数反映总体变异系数C的信息,用来刻画离散程度。(4)样本k阶矩反映总体k阶矩的信息,m1就是样本均值。(5)样本k阶中心矩反映总体k阶中心矩的信息,v2就是样本方差。(6)样本偏度反映总体偏度的信息。偏度反映了随机变量密度函数曲线在众数(密度函数在这一点达到最大值)两边的偏斜性。正态分布偏度为0。(7)样本峰度反映总体峰度的信息。

2023-11-18 19:55:39 109

原创 怎么优化深层神经网络(超参、正则以及优化)

在训练神经网络时,我们需要做出很多决策,比如:神经网络分多少层;每层含有多少个隐藏单元;学习速率是多少;各层采用哪些激活函数等等。我们不可能从一开始就准确的预测出这些超参数,因为应用机器学习是一个高度迭代的过程,通常在项目启动时,我们会先有一个初步的想法,比如构建一个含有特定层数,隐藏单元数量或数据集个数等等的神经网络,然后编码,并尝试运行这些代码,通过运行和测试得到该神经网络或这些配置信息的运行结果,你可能会根据输出结果重新完善自己的想法,改变策略,或者为了找到更好的神经网络不断迭代更新自己的方案。对于很

2022-06-06 14:26:28 294

原创 SQL查询数据

在关系型数据库中,我们用的最多的就是查询。1.基本查询SELECT * FROM <表名>;2.条件查询优先级按照NOT、AND、OR进行;SELECT * FROM <表名> WHERE <条件表达式>;SELECT * FROM <表名> WHERE NOT <条件表达式>;SELECT * FROM <表名> WHERE <条件表达式1> AND <条件表达式2>;SEL

2022-05-25 15:44:58 1213

时间序列之周期性所用到的数据

时间序列之周期性所用到的数据

2024-03-20

Flask 之 Jinjia2 模板引擎必知必会

用到的静态文件模板

2024-01-29

BPE(Byte-Pair Encoding )代码实现-数据

BPE(Byte-Pair Encoding )代码实现-数据

2024-01-11

dog-cat数据:Kaggle经典挑战赛["Dogs vs. Cat"](https://www.kaggle.com/c/d

dog-cat数据:Kaggle经典挑战赛["Dogs vs. Cat"](https://www.kaggle.com/c/d

2023-12-12

算法导论 英文 第三版 超清可复制

算法导论英文版第三版原著,资源为超清可直接复制版本,不可多得的学习资料

2018-11-17

Python语言及其应用(高清可复制版本)

《Python语言及其应用》高清可以直接复制版本,适合零基础想学习Python的同学,书的结构清晰,是很好的一本Python入门书。

2018-11-03

流畅的Python(高清可复制版本)

Python进阶学习材料,适合有一定Python基础并且想加深对Python语言了解的同学,文档非常高清,可以复制。

2018-11-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除