![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
BlackMan_阿伟
不积跬步无以至千里
展开
-
采用curve_fit拟合曲线或者直线
拟合曲线;最小二乘法原创 2023-03-03 15:34:31 · 1028 阅读 · 1 评论 -
kaggle
https://www.cnblogs.com/limitlessun/p/8489749.html原创 2021-08-30 23:43:49 · 226 阅读 · 0 评论 -
《机器学习超参数调整利器》贝叶斯优化算法
1、贝叶斯优化算法思想利用之前已经搜索点的信息确定下一个搜索点,用于求解维数不高的黑盒优化问题;首先生成一个初始候选集合,然后根据这些点寻找下一个有可能是极值得点,将该点加入集合中,重复这一步骤,直至迭代终止。最后从这些点中找出极值点作为问题的解。2、贝叶斯优化伪代码根据已经搜索的点的函数值估计真实目标函数值的均值和方差(通过高斯过程回归实现) 根据均值和方差可以构造出采集函数,对每一点是函数极值点的可能性的估计,反映了每一个点值得搜索的程度,该函数的极值点...原创 2021-08-26 15:32:57 · 1718 阅读 · 8 评论 -
《机器学习算法》决策树
1、决策树思想根据一定的if-then规则,形成一种描述对实例进行分类的树形结构。2、特征选择3、信息增益的算法决策树ID3就是利用信息增益选择划分特征的。缺点:这样选择的特征偏好取值类别较多(v较大)的特征(例如某个特征的取值类别数等于样本数,则根据此特征划分之后,样本的纯度都已经达到了最大)。因此在C4.5的时候有一定的改进,将特征选择的标准定为信息增益比。缺点:信息增益比产生的一个问题就是对可取值数目较少的属性有所偏好,因...原创 2021-08-23 21:27:05 · 179 阅读 · 0 评论 -
《机器学习算法-Boost》GBDT(Gradient Boosting Decision Tree)
1、提升树的思想提升树是以分类树或者回归树为基本分类器的提升方法,实际采用的是加法模型(基函数的线性组合),以决策树为基函数的提升方法称为提升树。提升树的核心思想就是在不断的拟合残差,比如一个人的年龄是25岁,第一次猜到16,那么9就是我们接下来要拟合的残差,不断的迭代更新这个树,最终使得误差或者迭代次数满足我们的要求即可。2、前向分布算法初始化一个基分类器,存在一个数据集T,通过进行M轮的迭代更新不断更新β和γ,再更新,最终得到加法模型。3、回归问题的...原创 2021-08-20 11:45:37 · 360 阅读 · 0 评论 -
《机器学习算法-Boost》AdaBoost Algorithm
1、AdaBoost思想首先AdaBoost是隶属于集成学习Boost家族的一个算法,也是一个比较算的上是入门级又能充分的体现boost的思想的算法。通过一个现实生活中的例子来聊聊AdaBoost这个算法。假设这么一个场景:你是一个非常优秀的数学老师,你的班级有10个学生,你想要提升这个班级的成绩,一开始给每个人辅导2h,发现经过一次考试之后有其中一半的学生成绩比较好,另一些成绩比较差,这个时候你会把时间重新做一个分配,将考的好的学生的时间降为1h,把多出来的时间给考...原创 2021-08-18 15:31:11 · 778 阅读 · 0 评论 -
《机器学习算法》KNN算法(K近邻)
1、什么是KNN算法 K近邻算法是一个基本的机器学习算法,可以完成分类和回归任务。对于分类任务的话,主要是遵循”近朱者赤;近墨者黑“的原理。对于其中一个测试的实例,根据其K个最近邻的训练实例的类别进行多数表决然后完成预测。也就是随机森林中的”投票法“原则。2、KNN算法的三要素 ①K值的选择 K值的选择是一个非常关键的问题,一般情况下我们通过k折交叉验证,来选取一个比较好的K值,因为K值的选取完全影响了这个算法的性能。举两个极端的...原创 2021-08-17 17:55:12 · 857 阅读 · 0 评论 -
Python零碎的小知识点总结(持续更新......)
1、functools模块import functools@functools.lru_cache(None)#官方例子@cachedef factorial(n): return n * factorial(n-1) if n else 1>>> factorial(10) # no previously cached result, makes 11 recursive calls3628800>>> factorial.原创 2021-03-09 11:22:40 · 68 阅读 · 0 评论 -
March——395.至少有K个重复字符的最长子串
class Solution: def longestSubstring(self, s: str, k: int) -> int: #如果字符串的长度是小于k的直接返回0 if len(s)<k: return 0 #遍历该字符串 for c in set(s): #如果该字符的出现次数小于k,那么一定不能在子字符串中出现 ...原创 2021-03-02 11:03:48 · 89 阅读 · 0 评论 -
《Leetcode of December》剑指 Offer 67. 把字符串转换成整数
class Solution: def strToInt(self, str: str) -> int: ''' ^:匹配字符串开头 [\+\-]:代表一个+字符或-字符 ?:前面一个字符可有可无 \d:一个数字 +:前面一个字符的一个或多个 ''' #正则表达式 INT_MAX = 2147483647 INT_MIN = -2...原创 2020-12-30 10:46:55 · 127 阅读 · 0 评论 -
CV2.imread()返回类型为None
1、问题描述path = C:\Users\xxxx\人机联合\2008_006462_ori.jpgimg = cv2.imread(path)print(img)用cv2去读图片,但是由于路径有中文,所以打印的值为None。cv2读图像是不支持中文路径的2、解决办法import numpy as npimg = cv2.imdecode(np.fromfile(path,dtype=np.uint8),cv2.IMREAD_COLOR)...原创 2020-12-15 10:26:00 · 1665 阅读 · 0 评论 -
python的关键字之global&nonlocal详解
刷题的过程中经常会遇到nonlocal这个关键字,更多的时候是使用而没有探究其真正的原理是什么,今天专门在代码实际的测试过程中应用了一下global和nonlocal这两个关键字,通过这个记录应该能很清晰的知道global和nonlocal在什么时候用。面象对象的语音都有全局变量和局部变量这两个定义,一个是定义在函数体的外部,另一个是定义在函数体的内部。那么对于global和nonlocal也有不同的使用范围。 共同点 内部作用域修改外部作用域作用的变量 区别 gl原创 2020-10-12 22:22:21 · 2073 阅读 · 1 评论 -
关于python中pickle的用法
为什么要序列化内存中的字典、列表、集合以及各种对象,如何保存到一个文件中。之前往往是将这些对象转成字符对象然后再写入到文件中。设计一套协议,按照某种规则,把内存中的数据保存到文件中,文件是一个个字节序列。所以必须把数据额转换为字节序列,输出到文件,这就是序列化,反之,从文件的字节序列恢复到内存中,就是反序列化。pickle的优点针对于数据量比较大的列表、字典,可以采用将其加工为数据包来调用,减小文件大小;也就是一个压缩->保存->提取的一个过程。pickle常用的4个函数1.原创 2020-09-02 21:21:48 · 3775 阅读 · 0 评论 -
拓朴排序模板:207.课程表
你这个学期必须选修 numCourse 门课程,记为0到numCourse-1 。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]] 输出: true解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [[1,0],[0,1]]输出: fa...原创 2020-08-04 17:38:01 · 115 阅读 · 0 评论 -
Python小模块之Zip用法
刷leetcode题你总能看到各式各样的小方法,各式各样的python魔法方法。今天就来聊聊这个zip函数,这个是python的一个内置函数。zip()接受的参数是一个可迭代的列表,返回的是一个个元组。zip顾名思义就意味着压缩,那么解压就是zip(*)。使用下面两个小栗子进行说明。1、zip()In [1]: a=[1,2,3]In [2]: b=[4,5,6]In [3]: for item in zip(a,b): ...: print(item) ...:原创 2020-06-15 14:48:38 · 248 阅读 · 0 评论 -
从列表中随机选取几个元素
随机选取元素的话使用random这个模块:主要有选取一个还选取多个1、选取多个random.sample(population,k)population:列表 k:随机返回的个数eg:In [1]: poppulation = [4,5,9,2,1,5,3,0]In [2]: import randomIn [3]: random.sample(poppulation,3)Out[3]: [3, 9, 0]2、选取一个random.choice(seq)..原创 2020-06-08 20:11:58 · 13538 阅读 · 0 评论 -
Python之字符串处理
1、Split()and Split(“ ”)split() 将是按两个字符串直接的空格分割,split(" ")是按照一个空格进行分割的。>>> a = 'the sky is blue'>>> b = ' the sky is blue '>>> a.split()['the', 'sky', 'is', 'blue']...原创 2020-04-10 22:11:52 · 228 阅读 · 0 评论 -
Python之Queue模块
昨天在刷leetcode,用到DFS和BFS,所以对于Queue进行记录。主要实现了三类队列:先进先出、后进先出(类似于队列)、按照优先级输出队列的方法:Queue.put()、Queue.get()、Queue.empty()、Queue.full()、Queue.qsize()1、先进先出In [1]: from queue import QueueIn [2]: fro...原创 2020-04-09 11:11:00 · 193 阅读 · 0 评论 -
Python的打印模块———print与pprint
print和pprint都是python的打印模块,它们两个有一个唯一的区别,那就是:print——单行输出数据,不管输出的数据长度是多少 ,都是单行输出的pprint——多行输出数据pprint的优点是输出的数据可视化比较好In [1]: import pprintIn [2]: data = ( ...: "this is a string", [1, ...原创 2020-04-02 21:55:54 · 796 阅读 · 1 评论 -
Copy于Deepcopy的区别
一维列表:In [15]: ex = [1,2,3]In [16]: a = copy.copy(ex)In [17]: b = copy.deepcopy(ex)In [18]: a is bOut[18]: FalseIn [19]: ex[0] = 'a'In [20]: aOut[20]: [1, 2, 3]In [21]: bOut[21]: [1,...原创 2020-04-02 15:36:19 · 155 阅读 · 0 评论 -
关于python的文件读取read()&readline()&readlines()的区别
1.read()方法一次读取整个文件,然后返回一个字符串。由此可见,如果对于小文本来说的话那么这个读取操作显然是流畅的,如果对于大文件的读取可能就是比较困难了,或者根本读不出来。with open('data.txt', 'r', encoding='utf-8') as f: c = f.read() print(type(c)) print(c)#输出的结果...原创 2019-11-14 10:14:28 · 405 阅读 · 0 评论 -
关于class 'numpy.ndarray'用法
1.什么是numpy.ndarray?用于存放同类型的一个多维数组对象。每一个元素在内存中都有相同大小的存储空间。2.如何创建 numpy.ndarray?只需要调用numpy.array()函数即可。3.函数的具体参数以及意义函数的源码参数如下:def array(p_object, dtype=None, copy=True, order='K', subok=Fals...原创 2019-10-22 20:04:58 · 15440 阅读 · 0 评论 -
mock在Python中的使用
昨天看到一个微信公众号讲mock看了看还挺有意思的,索性吧mock这个小模块下写来,方便以后在做单元测试的时候使用。mock的意思是模仿,那它能用来干吗?1、可以对你写好的一些程序进行测试2、遇到一个大项目的时候会有超级多的接口,或者有很多函数嵌套函数,比如A函数里面,依赖于B函数,B函数里面又依赖于C函数,如果单独的测试这个A就要运行B,C函数,这个时候如果我们要测试这个A函数而不依原创 2018-01-17 00:39:06 · 538 阅读 · 0 评论