- 博客(13)
- 收藏
- 关注
原创 机器学习导论第二章
我最近在阅读机器学习导论(an introduction to statistical learning with application in R)中的内容,觉得国外的书和国内的书习题也不是一个风格,当然也有可能是这本书的独特性。比如说第二章习题的第三题,偏差方差分解相关概念的理解,因为这本书淡化了数学理论,所以也就没有对公式的推导有太多的要求,但是它并没有放过这个知识点,而是要你自己去生成数据去拟合,然后画图。说句实话,以前我在学习理论的时候,对某些概念总是有点一知半解,说不明白吧,感觉知识点大概在脑海
2020-06-21 16:33:32 458 1
原创 简易散点图
rng=np.random.RandomState(0)for marker in ['o','x','s']: plt.plot(rng.rand(5),rng.rand(5),marker,label="marker='{0}'".format(marker)) plt.legend(numpoints=1,loc=2)plt.show()#这一行顶格就把三幅图画在同一幅图上,不顶格就分别画在三幅图上片from sklearn.datasets import load_iri
2020-06-08 21:08:41 280
原创 r语言中循环着向向量中添加元素
a<-seq(5,25,5)b<-c()for (i in a){set.seed(1234)c<-rpois(i,1)p<-shapiro.test©$p.valueb<-c(b,p)}这里先生成一个空向量,然后不断地向空向量中添加元素
2020-06-03 09:17:31 7563
原创 插入排序与希尔排序
插入排序就好像我们打扑克牌的时候对扑克牌进行换序,前面的已经排好序了,后面的需要往前面排好序的队列中插入,但是程序无法直接插入到两个索引的中间,所以插入新的一张牌的时候,不断比较的同时,需要不断地将那些已经比较完成的元素向右移,以此给要插入的元素腾出空间。下面是我已经编号的一个程序,它的错误在于比较的同时没有及时的向右移,妄图找好位置后一步到位def insertsort2(alist): ...
2020-04-18 12:47:53 150
原创 冒泡排序与选择排序
对于一个长度为n的列表来说,需要进行n-1趟的比较,第一趟需要比较n-1次,把最大的数排到列表的末端。第二趟需要比较n-2次,把第二大的数放到列表的倒数第二个位置。以此类推。def bubblesort(tarlist): for passnum in range(len(tarlist)-1,0,-1): for i in range(passnum): ...
2020-04-17 12:26:34 174
原创 二分查找
二分查找的一个先决条件是列表中的数据已经按由小到大的顺序排列好二分查找的一个循环实现是:在这里插入代码片def bilook(tarlist,item): head=0 #先定义首尾 tail=len(tarlist)-1 found=False while head<=tail and not found: midpoint = (he...
2020-04-16 15:25:33 103
原创 双端队列的实现
双端队列:双端队列与队列类似,其两端可以被称作是队首和队尾,但是它的数据项的添加和删除都可以在两端完成,既可以在队首添加删除,又可以在队尾添加删除,从某种意义上来说,双端队列集成了栈和队列的能力。class Deque(): def __init__(self): self.items=[] def isEmpty(self): return se...
2020-04-14 09:25:51 227
原创 python数据结构(三)
队列:首先他也是一种线性结构,即有次序的数据集合。新数据添加在一端(称为尾),数据的移除发生在另一端(称首)。我们可以想象成排队,它的特点就是先进先出,即所谓的先到先服务。应用:打印队列,一台打印机面对着很多打印任务的时候,为先排队的任务先服务。类的实现:...
2020-04-10 18:15:57 113
原创 python数据结构(二)
栈的应用之进制转换:我们在大一的计算机基础甚至高中的课程都已经了解了进制,以及不同进制的转换方法。所谓进制,就是多少进制的几次幂,例如十进制下的233.就是2乘以10的平方加上3乘以十的一次方再加上3乘以10的0次方,算法:十进制转换为二进制,采用的是除以二求余数的2算法,在除二的过程中,得到的余数是从低到高的次序,而输出是从高到低,所以需要一个站来反转次序from pythonds.basi...
2020-04-09 22:45:06 102
原创 python数据结构(一)
线性结构:线性结构是一种有序数据项的集合,其中每一个数据项都有唯一的前驱和后继(第一个没有前驱,最后一个没有后继),好比我们房子的左右邻居都是唯一的。线性结构总有两端,不同线性结构的关键区别在于数据项增减的方式,有的结构只允许在一段操作,有的结构允许在两端操作。下面介绍几种基本的线性结构栈:数据的加入移除只发生在一端的线性结构,这一端叫做栈顶,另一端叫做栈底。一摞盘子就是一个栈,因为添加和取出...
2020-04-09 14:44:22 140
原创 变位词问题的python实现
变为词:如果两个单词存在相同字母的不同排列组合则称为变位词,例如erath和heart目标:写一个布尔函数,以两个词作为参数,返回这两个词是否为变位词(我们假设这两个词语仅由小写字母组成,且长度相等)算法一:逐字检查解法思路:将词1中的字符逐个到词2中检查是否存在,如果存在,做个标记,以防止重复检查。如果每一个字符都能找到,则两个词是变位词,只要有一个字符找不到,就不是变位词`def a...
2020-04-07 11:20:17 510
原创 掷一枚硬币,直到连续出现两次正面朝上的时候停止,问掷硬币次数的期望
import numpy as npl=0for i in range(1,10001):#实验10000次 a=np.random.randint(0,2) b=np.random.randint(0,2) c=[] c.append(a) c.append(b) print(c) while (c[-1]+c[-2])!=2: ...
2020-04-03 14:36:39 4660
原创 双骰子博弈
玩家投两颗骰子,如果掷的点数是7或11,她就赢。如果其和是2,3或12,她就输。如果是其他结果,就继续玩,直到她再次掷到这个点数(则她赢),或者掷到7(她输),计算玩家赢得概率,用python来实现一下times=[]#创建一个新变量,来记录赢得次数,以频率来估计概率import numpy as npfor e in range(0,1000000): res = sum(np.r...
2020-04-03 14:03:41 2471
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人