自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TypeError: ‘Timestamp subtraction must have the same timezones or no timezones‘

背景dataframe两个时间格式的列相减df['OP_DTIME_timestamp'] = df[['OP_DTIME', '计算时间']].apply(lambda x: (x['OP_DTIME']-x['计算时间']).total_seconds() / 86400.0, axis=1)报错:原因两列时间的时区不一致或者一个有时区一个没时区解决方案统一转为无时区或同一时区,这里转为无时区df['计算时间'] = pd.to_datetime(df['计算

2021-01-19 15:48:47 678

原创 为什么SVM最大化几何间隔等同于最小化||w||

这个问题困扰了笔者很久,今天终于弄明白了,记录一下,防止遗忘。背景SVM是一个二分类模型,目标是找到两个类别的最大间隔超平面。给定一组数据, 其中公式推导首先引入两个概念:函数间隔:所有样本点到超平面wx+b=0的最小距离。由于几何间隔会随着超平面参数的变化而变化,如果w和b同时增大两倍,函数间隔也会增大两倍,这样的话不同超平面的函数间隔无法作比较;几何间隔:将超平面的参数的模设为1 时的函数间隔,也就是超平面对应的函数间隔。为了求最大间隔超平面,目标函数定义为:由于不同

2021-01-07 16:50:17 1169

原创 剑指offer 之 约瑟夫环(孩子们的游戏,圆圈中最后剩下的)

约瑟夫环这道题做了很多次,但每次重新看的时候都感觉自己失忆了,所以这次必须记录一下!!!题目(来自牛客)每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去....直

2020-06-20 17:00:59 182

原创 ValueError: too many values to unpack (expected 3)

报错如下:该bug是由于你所调用的方法返回值个数和你接收参数的个数不一致造成的。比如:def num_op(x, y): return x+y, x-y, x*y, x/ya, b, c = num_op(1,2)num_op函数一共有四个返回值,但是调用的时候只接收三个返回值,所以就报错了。解决方案:修改调用参数的代码,保持接收参数个数与函数返回参数个数一致。a, b, c, d = num_op(1,2)这样就可以正确返回了。...

2020-06-02 11:11:54 27762

原创 二叉树的遍历:先序、中序、后序 (递归)

class TreeNode: def __init__(self, val): self.val = val self.left = None self.right = Noneclass BinaryTreeTraversal: def recuPreOrderTraversal(self, pRoot): ''' 递归先序遍历:读取根节点,然后分别读取左右子节点 ''' .

2020-05-15 22:10:05 228

原创 剑指offer 之 链表中环的入口节点

文章目录题目思路代码题目寻找链表中环的入口节点,如果有环返回入口节点,如果无环返回None。思路这道题分两步走:判断链表是否有环: 两个指针,一快一慢,如果相遇了就说明有环,如果走到头了,就说明没环。很像小学的追及问题哈。寻找环的入口节点: 这里有一种比较容易想到的方法就是我们再定义一个新的指针,从相遇的节点出发等到它回来,就可以知道环的长度m,然后再用两个指针从头节点出发,一个先走...

2020-04-28 18:20:56 123

原创 剑指offer 之 数据流的中位数

数据流中的中位数题目解题思路Python代码题目如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。解题思路我们的目标是找到数据的中位数,除此之外其它数据的排列顺...

2020-04-28 13:58:31 136

原创 剑指offer 之 二叉树树的镜像

这道题的解法是用递归的思想将每个非叶子节点的左右子树互换,思路非常简单。class TreeNode: ''' 定义树结构 ''' def __init__(self, val): self.val = val self.left = None self.right = Noneclass MirrorOf...

2020-04-24 18:27:44 93

原创 统计学习方法之提升算法Adaboost

不同于之前讲的SVM、决策树、朴素贝叶斯算法,提升算法本着“三个臭皮匠,顶个诸葛亮”的原则,将多个性能一般的模型"组装"成一个高性能模型。Bagging和Boosting是最常用到的模型融合方法,最经典的Bagging模型是随机森林,boosting的经典算法有adaboost和梯度提升决策树(gbdt),后面都会讲到,这篇文章先介绍adaboost。adaboost (adaptive bo...

2020-04-06 23:54:37 192

原创 python正则表达式的贪婪匹配

今天在工作过程中用到正则表达式。先说一下我的需求,给这样一个句子:今天我和李白(Li Bai)一起去吃饭,路上碰到了露娜(luna),他俩打起来了。我希望将句子中括号和括号里的内容删掉。这个需求可以通过re.sub()函数来实现。先介绍一下这个函数:原型:rb.sub(pattern, repl, string,count=0,flags=0)功能:将string中出...

2020-03-24 13:23:24 5919 1

原创 python之nlp初体验

这周接到一个新的任务,目标是将疾病名称和对应的ICD10编码匹配起来。刚开始尝试直接将疾病名称对应的表和ICD10编码表根据疾病名称merge一下。但是我还是太天真了,不同医生记录习惯的不同,导致一种疾病可以对应n多个名称,所以就需要进行相似度匹配了。这里需要用到两个库:jieba和gensim。jieba是一个可以用来中文分词的库,非常的成熟好用;gensim是一个自然语言处理的库,支持TF...

2020-03-23 21:34:00 276

原创 剑指offer 之 二维数组的查找

题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:从数组的右上角或左下角开始搜索,大于当前值,向下(右)移动;小于当前值向左(上)移动。为什么要从右上角或左下角开始搜索呢?我们通常习惯于从左上角也就是数组的第一个元素开始搜索,也不...

2020-03-22 11:34:12 86

原创 统计学习方法——支持向量机

前面我们已经讲了感知机,感知机算法的思想就是先随机初始化一个超平面,然后根据分类错误的样本不断调整超平面的参数,直到所有的样本都分类正确。但是感知机存在以下缺陷:(1) 当存在一个超平面可以将正负样本完全分开时,这样的超平面会有无数条;(2) 模型的鲁棒性不好:我们找到的超平面是刚好可以把正负样本分开,当我们增加数据量时,这个超平面很可能就无法正确分类了;(3) 对初始参数敏感:初始化...

2020-03-21 18:45:24 230

原创 统计学习方法——逻辑回归和最大熵模型

今天我们介绍两个对数线性模型:逻辑回归和最大熵模型。逻辑回归是一种由条件概率P(Y|X)表示的分类模型,形式为参数化的逻辑斯谛分布。最大熵模型基于最大熵原理,认为学习概率分布模型时,在条件概率不确定的情况下,熵最大的模型即为最好的模型。逻辑回归...

2020-03-13 16:57:53 814

原创 统计学习方法——决策树

决策树是一种更接近于人类思维的分类回归算法。为什么说它接近人类思维呢?回忆一下我们平时做决策的思路,比如现在公司想要做一款新产品,我们来看一下这件事情的可行性。首先调研一下市场空间大不,不大的话就没有必要做了;在市场空间大的情况下,我们看一下有没有同类型的产品,没有的话就开搞!如果有的话,我们考虑一下能不能替代它或者说优于它,要是可以那就继续搞!要是机会很渺茫,那就要慎重考虑一下了,比如你现在说要...

2020-03-11 11:10:06 512

原创 统计学习方法——朴素贝叶斯

今天介绍的朴素贝叶斯算法是基于贝叶斯定理和条件独立性假设的分类算法。它是一种典型的生成式算法,首先基于条件独立性假设用训练数据学习联合概率分布P(X, Y),然后根据此模型通过最大化后验概率对新来的数据x进行预测。联合概率分布根据贝叶斯算法思想,第一步是要学习P(X, Y),根据条件概率公式,我们可以通过求出条件概率p(x|y)和先验概率p(y)来得到联合概率分布,那么条件概率和先验概率我...

2020-03-09 10:04:07 275

原创 统计学习方法——K近邻算法

目录K近邻的思想距离怎么算K的取值预测规则应用:kd树kd树的构建kd树的搜索K近邻的思想今天介绍的K近邻算法是一种思想非常简单的分类回归算法。顾名思义,预测结果肯定是和样本最靠近的K个邻居有很大的关系。不同于其他算法,需要先训练模型才可以进行预测,K近邻算法直接选择与我们要预测的样本点距离最近的K个样本,然后用这个K个邻居的标签值根据一定的规则得出预测结...

2020-03-07 17:30:49 1720

原创 统计学习方法——第一章统计学习概论

2020-03-06 22:26:50 107

原创 统计学习方法——感知机

目录算法介绍算法流程算法总结算法介绍感知机是一种用于二分类的线性分类模型,通过随机梯度下降法最小化损失函数找到一个可以将正负样本完全分隔开的超平面。训练数据:,其中我们要找到一个超平面,对于所有真样本有;对于所有负样本有。将两个条件综合起来就是。对于分错的样本有,M指的是分错的样本组成的集合。所以我们的目标就是使分错的样本尽可能的少: ...

2020-03-06 22:16:05 176

原创 “cannot compare tz-naive and tz-aware datetime-like objects”python时区不一致解决方案

问题在合并两个dateframe后根据时间进行数据筛选过程中,报错如下:这个报错是由于我们比较的两列数据时区不一致导致的,通过df[[‘time']].info()查看数据类型:可以看到两列都是datetime64数据类型,但是一个有时区一个没有。解决方案给有时区的一列去掉时区import pandas as pddf['dtime'] = pd.to_date...

2020-01-09 15:21:19 4513

原创 leetcode 3. 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"...

2019-09-04 20:51:20 88

原创 leetcode 2. 两数相加

给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...

2019-09-04 20:16:32 86

原创 DataFrame.merge()数据拼接导致数据维度增加??

今天在处理数据的时候,进行数据拼接,两个包含1488条数据的df文件同时两个df有公共列(因为害怕是公共列数据不一致原因导致维度发生变化,专门重新设置了一遍)merge:原因是:公共列中存在重复值,第一列是公共列元素取值,第二列是每个元素出现的次数:在merge的过程中,第一个df中的每个记录会与第二个df中所有与它有相同index值的记录拼接起来,所以上面...

2019-05-29 13:17:54 1607

转载 如何实现主机与virtualBox虚拟机之间的文件共享

https://blog.csdn.net/momorrine/article/details/80323595

2019-04-09 17:14:51 292

原创 python中的数据结构

list:list是一种有序的集合,可以随时添加和删除其中的元素。list的索引从0 开始,最后一个元素索引为len(list)-1,也可以用list(-1)直接访问最后一个元素。当索引超出范围,会报错:IndexError。操作:末尾添加元素:list.append(num)在索引号为i的位置添加元素:list.insert(i,num)删除list末尾的元素:list...

2019-04-08 10:15:52 111

原创 python笔试面试题

1.什么是python?解释型语言。运行前不需要编译(同PHP、Ruby) 动态类型语言。声明变量时,不需要说明变量类型。 适合面向对象编程(OOP),支持通过组合与集成的方式定义类,python中没有访问说明符(public、private),设计依据是大家都是成年人了(哈哈~~)说明:python中的组合与继承组合:一个类的对象具备某种属性,该属性的值指向类外一个类的对象。...

2019-04-04 15:27:10 631

原创 剑指offer 之 二叉搜索树与双向链表

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right...

2019-03-19 11:10:22 73

原创 剑指offer 之 复杂链表的复制

输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)# -*- coding:utf-8 -*-# class RandomListNode:# def __init__(self, x):# self...

2019-03-19 09:30:47 74

原创 剑指offer 之 二叉树中和为某一值的路径

输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)从根节点开始采用先序遍历的方式,找出子树中满足(expectNumber-root.val)的路径。# -*- coding:utf-8 -*-# class TreeNode:# ...

2019-03-19 08:52:10 99

原创 python sys.stdout.write

今天在爱奇艺的笔试题里第一次看到sys.stdout.write,之前一直用的是print,因为print()真的简单好用啊。stdout只能输出字符串,如果要输出数字,也需要先转成字符串形式的;print可以直接输出各种类型stdout输出结果后不自动换行;print会自动换行在shell中,stdout输出结果后面会多一项字符串的长度(不知道如何去掉,头疼),而在spyder和py...

2018-09-15 16:14:42 2528 1

原创 Python 模块学习——bisect

bisect是一个排序模块,操作对象必须为排好序的列表。insort()函数:在不影响排序的情况下插入元素。bisect()函数:找出在不影响排序的情况下元素应该插入的位置,但不会插入元素可以看出6并没有被插入列表d中bisect_left 和 bisect_right 函数:处理插入重复元素的情况,bisect_left()在列表中有与待插入元素...

2018-09-11 11:15:18 433

原创 各种排序算法的分析与比较

内部排序算法直接插入排序:每次取一个记录插入到已经排好序的有序表中,得到一个新的有序表。在插入过程中为了防止下标出界,需要在r[0]处加入一个监视哨。该算法的时间复杂度为O(),双层嵌套循环;空间复杂度为O(1),因为只需要一个额外的空间存储监视哨。def insertSort(L): L.insert(0,0) #插入监视哨,c初值为0 for i in rang...

2018-09-10 16:00:04 2181

原创 吴恩达——机器学习( Softmax Regression)

softmax regression和LR有些相似,可以说是LR的多分类版本,用于解决多项式分布问题。首先回顾一下逻辑回归中提到的:对于指数分布族,y的分布函数可以表示为,其中T(y)表示充分统计量,在大多数情况下(比如LR)T(y)=y。但是在softmax regression中,。这里,  , ... ,,定义指示函数, 那么T(y)中的第i个元素的值可以表示为对于多项式...

2018-09-03 17:02:08 1370 1

原创 吴恩达——机器学习(伯努利分布在逻辑回归中的作用)

之前只知道逻辑回归的方法却不明白为什么要这么做,为什么可以代表取1的概率。在看了吴大神的机器学习课程第四课之后恍然大悟。首先引入伯努利分布:    参数代表y取值为1的概率,改变参数的值可以得到不同的关于y的分布。伯努利分布与高斯分布同属于指数分布族,所以在给定a,b,t的情况下,y的概率分布可以表示为:其中:为分布的自然参数;T(y)是充分统计量,通常T(y)=y将伯努利分布表示...

2018-09-03 15:49:36 6146

原创 吴恩达——机器学习 局部加权回归(Loess)

先介绍参数学习方法和非参数学习方法:参数学习方法:有固定数目的参数, 比如线性回归和逻辑回归中的非参数学习方法:参数的数目会随着训练集的大小呈线性增长,比如局部加权回归局部加权回归(Locally Weighted Regression, Loess)如果有一个类似下图的数据集(图片来源:https://blog.csdn.net/qsczse943062710/article...

2018-09-03 11:12:15 8244

原创 吴恩达——机器学习2

过拟合与欠拟合欠拟合:模型不能很好地适应训练集过拟合:模型可以很好地适应训练集,但对于新输入的数据预测结果并不好 非参数学习算法(non-parametic learning algorithm)又称局部加权回归(locally weighted regression),更加注重对临近点的精确拟合。loss function:, 其中当数据集很大时,计算的代价很高...

2018-09-01 15:46:45 125

原创 吴恩达——机器学习1

什么是机器学习Tom定义的机器学习是,一个好的学习问题定义如下,他说,一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升。在下棋任务中,经验E 就是程序上万次的自我练习的经验而任务T 就是下棋。性能度量值P是指它在与一些新的对手比赛时,赢得比赛的概率。在垃圾邮件识别任务中,任务T是识别垃圾邮件,经验E是被标记为垃圾的...

2018-09-01 13:05:16 670

空空如也

空空如也

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

TA关注的人

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