python
Zhang_Raymond
机器学习与人工智障
展开
-
(数值分析)各种插值法的python实现
一维插值插值不同于拟合。插值函数经过样本点,拟合函数一般基于最小二乘法尽量靠近所有样本点穿过。常见插值方法有拉格朗日插值法、分段插值法、样条插值法。拉格朗日插值多项式:当节点数n较大时,拉格朗日插值多项式的次数较高,可能出现不一致的收敛情况,而且计算复杂。随着样点增加,高次插值会带来误差的震动现象称为龙格现象。分段插值:虽然收敛,但光滑性较差。样条插值:样条插值是使用一种名为样条的特...转载 2018-08-04 17:09:53 · 128352 阅读 · 22 评论 -
python实现二叉树层序遍历(逐层打印二叉树)
题目要求给定一个二叉树,要求从上往下逐层打印该二叉树节点的值,每层从左往右打印。解题思路——广度优先遍历实际上就是广度优先遍历, 借助一个队列(这里用数组代替)就可以实现:1、先将root节点加入队列2、队列不为空时取队列首节点3、打印节点的值,然后将该节点的左、右子节点先后加入队尾(核心步骤,广度优先体现在这)4、回到2,直到队列为空该方法对满二叉树和非满二叉树都符合题目要求。...原创 2019-04-09 12:14:09 · 10147 阅读 · 1 评论 -
Keras: 评价指标 categorical_accuracy和 sparse_categorical_accuracy
在Keras中,官方内置了几种评价函数。对于二分类问题,评价指标可以用 binary_accuracy,就是最直观上讲的准确率。当面对多分类或者多标签的任务时,评价度量可能会用到这两个 categorical_accuracy和 sparse_categorical_accuracybinary_accuracy自然不必多讲,这篇文章讲一下categorical_accuracy和 sp...原创 2019-04-11 16:27:28 · 31213 阅读 · 11 评论 -
C++,java,Python的sort排序内部实现
C++C++内部的sort是由快排,直接插入和堆排序混合的,具体详情见STL源码剖析。数据量大时候先用的快排数据量小时就用直接插入因为当数据量变小时,快排中的每个部分基本有序,接近直接插入的最好情况的时间复杂度O(n),就比快排要好一点了。Java在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中...原创 2018-09-02 15:37:38 · 940 阅读 · 0 评论 -
自然语言处理工具包spaCy初体验
spaCy是一个Python自然语言处理工具包,诞生于2014年年中,号称“Industrial-Strength Natural Language Processing in Python”,是具有工业级强度的Python NLP工具包。spaCy里大量使用了 Cython 来提高相关模块的性能,这个区别于学术性质更浓的Python NLTK,因此具有了业界应用的实际价值。初体验本人对S...原创 2018-09-02 01:32:50 · 1476 阅读 · 0 评论 -
Python随机数小结——random和np.random的区别与联系
在python中,有两个模块可以产生随机数: 1. python自带random包: 提供一些基本的随机数产生函数,可满足基本需要 2. numpy.random:提供一些产生随机数的高级函数,满足高级需求random 介绍 函数 功能 备注 random.random() 生成一个0-1之间的随机浮点数 random.uniform(a,...原创 2018-09-01 18:25:14 · 10330 阅读 · 0 评论 -
《剑指offer》python : 40 最小的k个数
题目输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、2、7、3、8 这8个数字,则最小的4个数字是1、2、3、4。法0:(最简单的思路)整体排序后取前k个数利用python自带sorted()函数。 复杂度为O( n log n),面试官会告诉你还有更快的算法return sorted(tinput)[:k]法1:基于Partition 函数思路:从3...原创 2018-08-08 21:16:21 · 824 阅读 · 0 评论 -
《剑指offer》python: 39 数组中出现次数超过一半的数字
题目数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路1快速排序,求中位数。 如果该数出现次数超过数组长度的一半,那么,排序之后,他应该位于数组的中间,即为中位数。 具体操作:随机选一数,第一次快排。 复杂度:...原创 2018-08-08 18:23:52 · 332 阅读 · 0 评论 -
【python】内建模块 collections 小结: namedtuple、deque、OrderedDict、defaultdict、Counter
Python内置了一些常用的数据类型,如str, int, list, tuple, dict等,而collections模块则在这个基础上提供了几个额外的小众的数据类型,在一些场景下会达到事半功倍的效果。具体如下:namedtuple(): 生成可以使用名字来访问元素内容的tuple子类deque(): 双端队列,可以快速的从另外一侧追加和推出对象Counter(): 计数器,...原创 2018-08-08 11:22:47 · 453 阅读 · 0 评论 -
【好物分享】python字符串打印fromat 实践总结
As we know, python的print()函数有两种字符串打印方式:%方式: 如'%s %s' % ('one', 'two'){}format() 方式:如'{} {}'.format('one', 'two')网上发现一个介绍这两种方式的使用方法的网站,觉得甚好,里面有大量实例,两种方式的区别一目了然,网站也很美观,强烈推荐给大家。网站开头是这么介绍的:python...原创 2019-04-25 16:06:11 · 590 阅读 · 0 评论