自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 python 刷题框架之滑动窗口

刷题框架系列-滑动窗口有点久没写csdn了,最近一直在刷题找工作,看到了一个大佬总结的各种算法题的解题框架,只是原始版本是C++,看着有点费劲,又觉得很有必要记录下来,方便查阅,写成python版,保存在这边.下面直接上代码滑动窗口主要用来解决链表,字串,数组问题.# 滑动窗口算法框架def slidingWindow(s:str, t:str): # need 记录需要的字符数量. window记录窗口里面相应字符的数量. need = {} window = {} for i in t:

2020-06-23 16:45:46 429

原创 tqdm+pd.concat+dataframe基本操作+pd格式化输出时间+pd.merge(),group,apply,agg,np.where()函数

tqdm模块:用来显示工作的进度条from tqdm import tqdmimport timebar = tqdm(['p1','p2','p3','p4','p5'])for b in bar: time.sleep(0.5) bar.set_description("处理{0}中".format(b))进度条一直往下滚动的问题,可以通过加ncols参数解决,一般...

2020-01-09 09:52:16 1151

转载 SQL的基本操作

本来想自己总结记录一下的,后来感觉有点麻烦。还是参考一下别人的吧。方便以后查阅:reference:sql的基本操作

2019-11-23 15:27:15 199

原创 正交,独立,相关及之间的关系

一、‘独立’,‘不相关’和‘正交’的定义二、“独立”、“不相关”和“正交”之间的关系三、线性无关、线性相关与正交的关系正交必线性无关,线性无关不一定正交四:皮尔森相关系数(描述的是线性相关程度)...

2019-11-12 10:30:15 17025 3

原创 python手写kmeans以及kmeans++聚类算法

自己用python手写实现了kmeans与kmeans++算法。记录一下,说不定以后就用着了呢。首先是用到的几个自定义函数:def nearest(data,cluster_center): n = len(cluster_center) m = len(data) sum1 = 0 dis = [] for i in range(n): ...

2019-11-08 13:27:25 1142

原创 几种特征选择的方法汇总:RFE,卡方检验,方差分析,互信息法,以及两种嵌入的方法

最近处理数据的时候尝试了一下特征选择,在此记录一下常用的方法,以便日后查阅:先贴一下原始数据:1.RFE特征选择2.方差分析3.互信息法4 卡方检验5.1嵌入的方法:基于L1范数:使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维5.2嵌入的方法:基于树模型的特征选择:树模型中GBDT也可用来作为基模型进行特征选择,使用feature_selection库的Se...

2019-10-30 22:22:35 4129 1

原创 记录pycharm中的遇到的问题

一、关于安装的包默认安装到anaconda目录下,而不是python3目录下,只需要把安装的包从anaconda目录下直接复制到python3\Lib\site-packages 目录下。在不用anaconda的环境的情况下也能正常import。二、pycharm 中提示:django is not importable in this environment参考:关于Django is no...

2019-10-15 20:58:52 274

原创 numpy.ravel() vs numpy.flatten()的区别

首先声明两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。1.两者的功能2.两者的区别Ref...

2019-10-09 16:54:34 192

原创 函数中 *args 和 **kwargs 参数的用法

本科的时候就对函数里面这两个参数有点迷,但是当时也没搞清楚,今天偶然又遇见了,查了点资料,把我现在的一点理解记录下来,以供日后查阅。首先,当函数的参数不确定时,就可以使用args和**kwargs。其中args没有key值,**kwargs有key值。1.*args的含义按照我的理解是不同数量的变量的集合,元组形式举例:这个例子里面可以看到,*args被看做是 ‘two’和3 这两个参...

2019-09-06 18:36:00 597

原创 PSD的单位及计算方法

功率谱密度(PSD)的国际单位功率谱密度(PSD),单位为:unit^2/Hz代表单位频率上信号的能量,所以是密度谱,幅值代表频段内的有效值平方。如果是加速度功率谱密度,加速度的单位是m/s^2,那么,加速度功率谱密度的单位就是(m/s2)2/Hz,而Hz的单位是1/s,经过换算得到加速度功率谱密度的单位是m2/s3.同理,如果是位移功率谱密度,它的单位就是m^2s,如果是弯矩功率谱密...

2019-08-19 10:42:24 13936

转载 Pandas中修改DataFrame列名

有时候经过某些操作后生成的DataFrame的列名称是默认的,为了列名标记已与理解,有时候我们会有修改列名称的需求。提供修改列名的方法如下:假如有初始的DataFrame如下...

2019-08-14 13:20:53 263

转载 python写入csv文件的几种方法总结

转载:https://blog.csdn.net/waple_0820/article/details/70049953最常用的一种方法,利用pandas包同样pandas也提供简单的读csv方法。会得到一个DataFrame类型的data,不熟悉处理方法可以参考:https://www.csdn.net/link/?target_url=http%3A%2F%2Fwww.cnblog...

2019-08-09 12:18:15 6687

转载 Python中下划线的5种含义

转 ...

2019-07-17 16:33:26 154

原创 numpy基础---np.linalg

(1) np.linalg.inv():矩阵求逆,输入必须是可逆的方阵(2)np.linalg.pinv():求矩阵的广义逆,输入可以不是方阵np.linalg.norm顾名思义,linalg=linear+algebra ,norm则表示范数,首先需要注意的是范数是对向量(或者矩阵)的度量,是一个标量(scalar):首先 help(np.linalg.norm)查看其文档:这里...

2019-07-17 16:16:40 556

原创 python里面round函数和 inf的使用

一、round()函数round函数很不常用,但是最近看程序的时候看到了,就在此记录一下。round()函数很简单,就是对浮点数进行近似取值,保留几位小数。比如第一个参数是浮点数,第二个参数是保留的小数位数,可选,如果不填的话默认保留到整数。需要注意的一点是次函数在python2和python3中的使用有一点区别,如果python版本变动并且使用了这个函数的话,一定要仔细检查输出值是否正...

2019-06-13 21:11:37 1040

原创 python scipy.singal包设计陷波滤波器,峰值滤波器

最近在做脑电信号处理,需要用到50Hz陷波滤波器滤掉工频干扰,在网上找了点资料,使用scipy.singal包可以做到。再次记录一下,方便以后用时查阅。直接上一下scipy.singal里面关于iir二阶陷波滤波器的函数定义说明:def iirnotch(w0, Q, fs=2.0): """ Design second-order IIR notch digital filt...

2019-06-02 10:27:14 7669 1

转载 pytorch神经网络优化方法

pytorch优化器 optim各种优化方法介绍一、梯度下降1.1 批梯度下降法(Batch Gradient Descent)1.2 随机梯度下降1.3 小批量梯度下降二 、改...

2019-05-22 13:53:05 1070

原创 pytorch实现L1正则化

2019-05-22 13:44:49 3590

原创 pytorch实现多层神经网络

一.引入模块,读取数据集二、搭建神经网络三、预测准确率

2019-05-20 15:52:35 2876 1

原创 pytorch实现逻辑回归和基本的神经网络结构

一、pytorch实现逻辑回归测试运行结果:二、pytorch实现基本的神经网络结构

2019-05-14 19:59:28 506

原创 numpy和pytorch实现线性回归

一、numpy实现线性回归输入框19是定义的一个线性回归类。输入框20是测试线性回归是否正常,输入的数据权值分别是3,4,6,偏置项是5,设置学习率0.001,迭代次数5000,每迭代50次输出一次损失函数的值。验证结果如下:可以看到,损失函数的值在不断减小,回归出来的各种参数也与我们的设定值几乎相等。二、pytorch实现线性回归结果如下图:三、pytorch实现一个简单的...

2019-05-14 17:08:50 792

原创 Pytorch的基本概念

一、什么是pytorch?为什么选择pytorch?pytorch是最近非常火热的一个深度学习框架,PyTorch 是 Torch 在 Python 上的衍生. 因为 Torch 是一个使用 Lua 语言的神经网络库, Torch 很好用, 但是 Lua 又不是特别流行, 所有开发团队将 Lua 的 Torch 移植到了更流行的语言 Python 上.,于是产生了pytorch。据 PyTor...

2019-05-10 20:50:07 3035

原创 python的各种推导式(列表推导式、字典推导式、集合推导式)

推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持:列表(list)推导式字典(dict)推导式集合(set)推导式一、列表推导式1.使用 [ ] 生成list基本格式:例一:例二:2.使用()生成generator将列表推导式的[ ]...

2019-05-09 10:40:24 241

原创 python字典遍历的几种方法

python字典遍历的几种方法:1.遍历key值:在使用上,for key in a和 for key in a.keys():完全等价。2.遍历value值3.遍历字典项4.遍历字典键值在使用上for key,value in a.items()与for (key,value) in a.items()完全等价。...

2019-05-09 10:27:39 1076

原创 实践中常用的python小技巧

1. 异常处理异常处理(exception handling)是编程中的一项重要技巧,也是容易被人忽视的一项。我们常常会忽视异常处理的重要性:它能使程序变得更具有鲁棒性,减少程序发生严重突发问题的几率,也能使程序更易于调试。尤其是在以下几种情况下,更应该善用异常处理:1.进行网络访问时2.进行I/O读写时3.执行某些复杂,容易造成程序崩溃的程序段时总之,希望大家看完本文的介绍后,跟博...

2019-05-09 10:22:22 143

转载 python----引用其他py文件中的函数

有两种实现方法,第一种有两个小的方法,第二个小方法比较正式一、添加__init__.py说明在想引用的文件所在目录下和想执行的py目录下,新建一个文件: init.py,即可通过 相对路径的方式引用方法1 :目录如下:a.py内容:b.py内容:其他文件为空和py_test同目录,执行命令:即可调用a.py中的函数方法2:方法1的缺点是只能在那个路径下执行命令,如果...

2019-05-07 17:17:52 19144

转载 功率谱和频谱的区别

生活中很多东西之间都依靠信号的传播,信号的传播都是看不见的,但是它以波的形式存在着,这类信号会产生功率,单位频带的信号功率就被称之为功率谱。它可以显示在一定的区域中信号功率随着频率变化的分布情况。而频谱也是相似的一种信号变化曲线,在科学的领域里,功率谱和频谱有着一定的联系,但是它们之间还是不一样的,是有区别的。功率谱的密度在物理学中,信号通常是波的形式表示,例如电磁波、随机振动或...

2019-05-06 10:27:15 723

转载 Python学习笔记:TypeError: not all arguments converted during string formatting 解决

#前言在学习python中难免犯下一些幼稚的错误,为了方便后来人的学习与自己的进步,整理了在学习过程中犯下的错误,写下此篇文档。#问题TypeError: not all arguments converted during string formatting#举例例如:原因:1 % 操作符只能直接用于字符串(‘123’),列表([1,2,3])、元组,因此需要一一匹配操作符。解决...

2019-05-06 10:23:14 5126

原创 矩阵求导,几种重要的矩阵及常用的矩阵求导公式

一、矩阵求导一般来讲,我们约定x=(x1,x2,...,xn)Tx = (x_1,x_2,...,x_n)^Tx=(x1​,x2​,...,xn​)T,这是分母布局。常见的矩阵求导方式有:向量对向量求导、标量对向量求导、向量对标量求导。Numerator layout:分子布局,可以简单理解为要求导得向量是行向量。Denominator layout:分母布局,可以简单理解为要求导得向量是列...

2019-04-29 20:33:18 2923

转载 机器学习面试常问算法问题二:梯度消失和梯度爆炸

一.梯度消失与梯度爆炸问题简述层数比较多的神经网络模型在使用梯度下降法对误差进行反向传播时会出现梯度消失和梯度爆炸问题。梯度消失问题和梯度爆炸问题一般会随着网络层数的增加变得越来越明显。例如,对于图1所示的含有3个隐藏层的神经网络,梯度消失问题发生时,靠近输出层的hidden layer 3的权值更新相对正常,但是靠近输入层的hidden layer1的权值更新会变得很慢,导致靠近输入层的隐藏...

2019-04-29 16:12:57 488

原创 机器学习面试中常问到的算法问题1----L1正则化与L2正则化的区别以及为什么L1正则化可以产生稀疏矩阵,L2正则化可以防止过拟合**

一、L1正则化与L2正则化的区别以及为什么L1正则化可以产生稀疏矩阵,L2正则化可以防止过拟合正则化(regularization):机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作L1-norm和L2-norm,中文称作 L1正则化 和 L2正则化,或者 L1范数 和 L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失...

2019-04-26 17:50:55 1917 1

原创 协方差矩阵与PCA原理深入剖析

一、协方差矩阵首先,协方差矩阵一定是实对称阵。一个维度上方差的定义:协方差的定义:协方差就是计算了两个维度之间的相关性,即这个样本的这两个维度之间有没有关系。协方差为0,证明这两个维度之间没有关系,协方差为正,两个正相关,为负则负相关。协方差矩阵的定义:对n个维度,任意两个维度都计算一个协方差,组成矩阵,定义如下:直观的对于一个含有x,y,z三个维度的样本,协方差矩阵如下:...

2019-04-24 22:26:13 1772 3

转载 机器学习-数据归一化及哪些算法需要归一化

一、数据为什么需要归一化处理归一化的目的是处理不同规模和量纲的数据,使其缩放到相同的数据区间和范围,以减少规模、特征、分布差异对模型的影响。方法:1.极差变换法2. 0均值标准化(Z-score方法)1.Max-Min(线性归一化)Max-Min归一化是对原始数据进行线性变化,利用取值的最大值和最小值将原始数据转换为某一范围的数据缺点:归一化过程与最大值和最小值有关,容易受...

2019-04-23 19:31:13 5042 2

转载 python3 counter函数的用法

http://blog.csdn.net/u013628152/article/details/43198605counter作用就是在一个数组内,遍历所有元素,将元素出现的次数记下来一:定义一个list数组,求数组中每个元素出现的次数[python] a = [1,4,2,3,2,3,4,2] from collections import Counter print Count...

2019-04-19 11:06:36 4587

原创 用python进行小波包分解

由于最近正好在学习用python进行小波分解,看的英文的pywt库的各种属性和方法及其使用示例,在这里记录下来,方便以后查阅,前面的小波分解部分忘了记录了,就只能从小波包分解开始了。小波包:首先导入pywt库:>>> import pywt一、创建小波包结构:接下来我们实例化一个小波包对象:>>> x = [1, 2, 3, 4, 5, 6, 7,...

2019-04-16 17:12:27 25332 15

原创 交叉熵,相对熵(KL散度),互信息(信息增益)及其之间的关系

刚刚查了点资料,算是搞清楚了相对熵与互信息之间的关系。在这里记录一下,后面忘记的话可以方便查阅。首先,同一个意思的概念太多也是我开始搞混这些概念的原因之一。首先说一下编码问题:最短的平均编码长度 = 信源的不确定程度 / 传输的表达能力。其中信源的不确定程度,用信源的熵来表示,又称之为被表达者,传输的表达能力,称之为表达者表达能力,如果传输时有两种可能,那表达能力就是log22=1log_...

2019-04-04 11:01:42 5585

原创 组队学习三:决策树算法梳理

一、信息论基础1.熵:信息熵代表的是随机变量或整个系统的不确定性,熵越大,随机变量或系统的不确定性就越大。即描述的是有关事件XXX的所有可能结果的自信息期望值:H(X)=−∑i=1npilogpiH(X)=-\sum\limits_{i=1}^{n}p_{i}logp_{i}H(X)=−i=1∑n​pi​logpi​其中n代表事件XXX的所有n种可能的取值,pip_ipi​代表了事件X为i时的...

2019-04-03 10:20:30 484

原创 组队学习二:逻辑回归算法梳理

逻辑回归算法梳理一、逻辑回归与线性回归的联系与区别1.逻辑回归是分类问题,线性回归是预测问题。2.逻辑回归的输出范围在【0,1】之间,可以看做是一个概率值。而线性回归的输出则没有限制条件,具体输出要看解决的问题决定。3.损失函数,线性回归使用的是均方误差作为损失函数,逻辑回归使用的是交叉熵作为损失函数。二者之间的联系:逻辑回归就是在线性回归的基础上增加了一个sigmoid函数,把线性回归...

2019-04-01 18:41:40 340

原创 组队学习--线性回归算法梳理及机器学习中常见概念

一、机器学习的一些概念1.监督学习(supervised learning):监督学习的训练集要求包括输入输出,也可以说是特征和目标。训练集中的目标是由人标注的。监督学习就是最常见的分类(注意和聚类区分)问题,通过已有的训练样本(即已知数据及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优表示某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简...

2019-03-29 16:26:30 236

空空如也

空空如也

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

TA关注的人

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