- 博客(40)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 大白话给你说清楚什么是过拟合、欠拟合以及对应措施
开始我是很难弄懂什么是过拟合,什么是欠拟合以及造成两者的各自原因以及相应的解决办法,学习了一段时间机器学习和深度学习后,分享下自己的观点,方便初学者能很好很形象地理解上面的问题,同时如果有误的地方希望大家在评论区留下你们的砖头,我会进行纠正。无论在机器学习还是深度学习建模当中都可能会遇到两种最常见结果,一种叫过拟合(over-fitting )另外一种叫欠拟合(under-fitting)。
2017-11-02 20:15:49
117058
38
原创 简单易懂的Java中常用正则标记,循序渐进,含代码
常用正则标记:1、字符匹配【数量:单个】任意字符,表示由任意字符组成; “ \\ ” 匹配 “ \ ” “ \n ” 匹配换行 “ \t ” 匹配制表符public class RegexDemo { public static void main(String[] args) { String str = "a"; String reg...
2020-02-21 13:44:04
191
原创 可视化神经网络软件(Window、Linux、Mac通吃)-- Netron
还在为看不到神经网络结构而烦恼吗?那么请看下图!支持可视化框架列表:ONNX(.onnx,.pb,.pbtxt),Keras(.h5,.keras),CoreML(.mlmodel),Caffe(.caffemodel,.prototxt),Caffe2(predict_net.pb,predict_net.pbtxt),MXNet(.model,-s...
2019-08-29 11:54:13
951
原创 《面试》-- 简单使用Python解决图结构的最小路径 -- Dijkstra算法
写在前面在你观看这篇博客之前,我必须种草、安利一个讲DFS、BFS、Dijkstra的视频,非常建议想学习经典图算法的猴子去看看,时间不长但是很精辟别忘了点赞啊,链接:https://www.bilibili.com/video/av25829980?from=search&seid=12399862396157246554回归正题图如图所示,假设起点为A,找出起点到剩下各...
2019-08-29 11:39:40
438
2
原创 (通俗易懂)《面试》-- 广度优先搜索(BFS)与深度优先搜索(DFS)Python实现
前言这两种都是作为经典的图搜索算法,目的都是系统地展开并检查图中所有的节点,但是这两种算法有着不同的搜索方式,以搜索二叉树为例(二叉树其实也是一种特殊的图结构),广度优先搜索(BFS)从上往下搜索只有等待上一层所有节点都遍历完毕才会转到下一层,而深度优先搜索(DFS)则是开始就一直往深处走,知道找到解或者走到底部为止。广度优先搜索(BFS)BFS思想(以二叉树为例子)1、从根节点开...
2019-08-28 16:13:31
694
原创 《面试》-- 大白话谈最长公共子串、最长公共子序列的问题(Python)
子串与子序列的区别最长公共子串(The Longest Common Substring)和最长公共子序列(The Longest Common Subsequence)的区别在于,前者需要连续,而后者不要求连续。例如:a = "12345.6789",b = “234.189”,那么a与b的最长公共子串为"234",最长公共子序列为"234.89"。最长公共子串(简单一点,可爱多了)...
2019-08-25 17:09:28
213
原创 《面试》-- 堆和栈的区别
堆(heap)和栈(stack)的区别1、存储栈:变量、对象的引用堆:实例对象2、速度栈:存取速度快堆:存取速度慢3、线程访问栈:每个线程都有一个栈区堆:所有线程共享一个堆区4、垃圾回收栈:比较频繁堆:不频繁...
2019-08-24 20:08:15
2981
1
原创 《面试》 -- java 类的属性权限大小:
java 类的属性权限大小:public类:可以在任何地方被访问,一个java类文件只能存在一个publicdefault类:只可以被同一个包内部类访问,同一个java类文件可以同时存在多个default类java 类中成员权限大小:public:任何地方都可以调用protected:最多子类可以调用(父类保护子类)default:最多同一个包可以调用(只有defau...
2019-08-24 20:06:02
227
原创 《面试》-- == 和 Object.equals 的区别
== 和 Object.equals 的区别==符号:1、基本类型比较,只有当两个类型的值相等时,才会返回trueint n = 3;n == 3; // truen == 4; // false2、引用类型比较(是否指向同一个对象)Person p1 = new Person();Person p2 = new Person();p1 == p2; // fa...
2019-08-24 20:02:54
269
原创 《面试》-- 基本数据类型与包装类
一、基本数据类型与包装类(Wrapper)boolean --> Booleanbyte --> Byteshort --> Shortint --> Integerlong --> Longchar --> Characterfloat --> Floatdouble --> Double考点:int i =...
2019-08-24 19:58:43
175
原创 Java -- 多线程、并发、非同步
并发:同一个对象多个线程同时操作线程同步:由于同一进程的多个线程共享同一个存储空间,在带来方便的同时,也带来了访问冲突的问题。为了保证数据在方法中被访问时加入锁机制(synchronized),当一个线程活得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可。同步方法public synchronized void method(int args) {}synchroni...
2019-08-24 19:54:24
268
原创 Java -- 单例设计模式
单例模式假设构造器中需要执行1000行代码,需要占用很大的资源,耗时长,像这种情况,就适合使用单例设计模式,只创建一次对象,以后一直使用这个对象。饿汉式单例设计:1、构造方法私有化,无法使用new创建实例对象 private Single( ){ }2、仅创建一个对象,并且类变量私有化 private static Single single = new Single();...
2019-08-24 19:54:01
143
原创 《面试》-- DNS域名解析过程
DNS数据库结构是树状结构,形象来讲是一颗倒挂的树==> 树的根是根服务器,全球有13台根服务器==> 顶级域名:org、com、net、me、cn、cc、==> 一级域名:google、aliyun、huawei、sina、DNS解析流程:1、DNS客户端(DNS_Client)检查HOSTS文件及本地DNS缓存,没有找到对应的记录;2、DNS_...
2019-08-24 14:28:07
3719
原创 《剑指Offer》-- 二叉搜索树与双向链表(学会中序遍历、二叉搜索树与双向链表关系,Python)
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。分析思路:题目描述如下图所示:(容器法)首先看到下图的数字排序,明显就是一个中序遍历的结果,那么只需要对二叉搜索树做中序遍历,将遍历结果的每个节点保存进一个容器中,然后对容器中的每一个值,也就是二叉树的每一个节点按照规则重新链接好链接规则如下:从左往...
2019-07-08 16:12:22
173
原创 《剑指Offer》-- 二叉树中和为某一值得路径(学会二叉树前序遍历的应用,Python)
题目描述:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)思路:以下图为例子,由于路径是从根节点出发到叶节点,也就是说路径总是以根节点为起始点,因此首先需要遍历根节点。在树的前序、中序、后序3种遍历方式中,只有前序遍历是首先访问...
2019-07-08 10:46:00
188
原创 《剑指Offer》-- 二叉搜索树的后序遍序列(学会后序遍历序列特点,Python)
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出True, 否则输出False。假设输入的数组的任意两个数字都互不相同。例如:输入数组{5,7,6,9,11,10,8},则返回Yes,因为这个整数序列是下图二叉搜索树的后序遍历结果。 8 / \ 6 10 / \ / \...
2019-07-05 16:34:15
779
1
原创 《剑指Offer》-- 分行从上往下打印二叉树(学会使用队列进行广度优先遍历,Python)
题目:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。分析:不管是广度优先遍历一副有向图还是一棵树,都要用到队列。首先把起始节点(对树而言是根节点)放入队列。接下来每次从队列的头部取出一个节点,遍历这个节点之后把它能够到达的节点(对树而言是子节点)都依次放入队列。重复这个遍历过程,知道队列中所有节点都被遍历为止。为了把二叉树的每一行单独打印到一行,我们需要两个变...
2019-07-05 15:25:57
3591
3
原创 《剑指Offer》-- 从上到下打印二叉树(学会使用容器逐层保存二叉树,Python)
题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。例如下图二叉树,依次打印出 [8, 6, 10, 5, 7, 9, 11]思路:使用一个容器(列表或者队列)将二叉树的各个节点有序保存起来,具体地,首先将根节点保存进底部,并使用指针指向容器底部,检查指针所指向的节点是否存在左右子节点,如果存在则依次添加进入容器,指针向上移动;否则指针直接向上移动。按照上述规律,指针不...
2019-07-05 12:18:08
332
原创 《剑指Offer》-- 栈的压入、弹出序列(学会使用辅助栈,Python)
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列 {1, 2, 3, 4, 5} 是某栈的压入序列,序列 {4, 5, 3, 2, 1} 是该压栈序列对应的一个弹出序列,但 {4, 3, 5, 1, 2} 就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:解决这个问题最直观的想法...
2019-07-05 10:21:36
799
原创 《剑指Offer》--包含min函数的栈(Python)
题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应该为O(1) )。在该栈中,调用min、push、pop的时间复杂度都是O(1)一步步出坑:异想天开一:看到这种题目,第一反应可能是每次压入一个新元素的进栈时,将栈里的所有元素排序,让最小元素位于栈顶,这样就可以在O(1)时间内得到最小元素了。但是请问这样的数据结构还叫栈吗?异想天开二...
2019-07-04 22:22:32
275
原创 《剑指Offer》-- 顺时针打印矩阵(Python)
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵:1 2 3 45 6 7 89 10 11 1213 14 15 16则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路将问题转换昵称由外到里一层一层顺时针打印每一层环的元素,因此有两个子问...
2019-07-04 20:45:13
450
原创 《剑指Offer》-- 二叉树的镜像(Python)
题目操作给定的二叉树,将其变换为源二叉树的镜像。二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5思路:题...
2019-07-04 11:00:24
319
原创 《剑指Offer》-- 树的子结构(Python)
题目输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路看题目明显知道是遍历树的任务,而且遍历树应该第一时间反应出来的应该是递归实现遍历树。题目是判断树B是否是树A的子结构,分两步走:第一步,首先从上往下遍历寻找A,判断A是否存在于B根节点值R相同的节点第二步,判断在树A中以R为根节点的子树是否与树B具有相同的结构def Tr...
2019-07-04 10:23:26
1091
原创 《剑指Offer》--合并两个排序的链表(Python)
题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。小插曲:首先总结一下自己的经验,关于链表节点的题目,我发现大多数只要是奔着容器或者指针的方向去想,那么就一定能解决问题。其中如果要追求速度的话那么就是用容器,但是可能会牺牲空间;相反如果不追求速度的话,可以采用指针的办法去解决,节省空间。所以,容器和指针是解决链表问题的基本办法。简单粗...
2019-07-03 14:49:19
890
2
原创 Python 排序算法总汇(不定时更新)
冒泡算法:def BubbleSort(arr): if len(arr) <= 1: return arr for i in range(len(arr)-1): # 一共进行数组长度减1轮比较 for j in range(len(arr)-1-i): # -i是因为不与排序好的底部进行比较,因为不需...
2019-07-03 10:40:17
108
原创 《剑指Offer》-- 反转链表(Python)
题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路:遍历替换class ListNode: def __init__(self, x): self.val = x self.next = Nonedef ReverseList(pHead): if pHead == Non...
2019-07-02 21:14:44
636
原创 《剑指Offer》-- 链表中环的入口节点(Python)
题目描述:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路1:自然而然想到使用容器(列表、堆栈、数组等)保存链表节点,在保存进入容器之前判断容器内是否已经存在,如果存在则直接返回该节点,该节点就是环的入口节点class ListNode: def __init__(self, x): self.val = x ...
2019-07-02 20:22:14
706
原创 《剑指Offer》--链表中倒数第k个结点(Python)
题目:输入一个链表,输出该链表中倒数第k个结点。思路1:自然而然想到使用容器(列表、堆栈、数组等)保存链表,然后直接查询def FindKthToTail(head, k): if not head or k<1: return None # 使用列表保存链表结构 stack = [] cur = head...
2019-07-02 17:01:57
616
原创 《剑指Offer》-- 调整数组顺序使基数位于偶数前面(Python)
题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变思路:1、浪费空间,节省时间def reOrderArray(array): if len(array) <= 1: return array Odd = list(...
2019-07-02 14:41:45
152
原创 《剑指Offer》-- 删除链表中重复节点(Python)
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:1、首先创建一个临时节点,并将临时链表连接到临时节点上;2、定义两个指针,cur和pre分别指向当前节点以及前一个节点;3、不断地往后移动cur...
2019-07-02 10:12:50
786
原创 《剑指Offer》-- 打印从1到最大的n位数(Python)
问题描述:输入数字n,按顺序打印出从1到最大的n位十进制数,比如输入3,则打印1,2,3...,一直到最大的三位数999方法1(不推荐):计算出最大的n位数,然后依次输出缺点:当n非常大的时候,保存起来非常大def Print1ToMaxNumber(n): # n 代表输入的位数 if n<=0: return -1 En...
2019-07-01 19:44:34
1251
2
原创 《剑指Offer》 -- 机器人的运动范围(回溯法)(Python实现)
题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?分析以上所提到的方格可以看做是一个(...
2019-06-28 17:15:50
499
原创 《剑指Offer》 -- 矩阵中的短路径(回溯法)(Python实现)
题目描述:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bfce"的路径,但是矩阵中不包含"abcb"路径,因为字...
2019-06-28 15:58:41
601
原创 《剑指offer》-- 旋转数组的最小数字(python实现)
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。方法1:从头到尾遍历数组一次(暴力循环法),时间复杂度为O(n),简单常见速度感人,并非理想。def minNumberInRotateArray(rotateArra...
2019-06-27 12:51:49
1267
原创 《剑指Offer》 -- 青蛙跳台阶问题(python实现)
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?分析: 如果只有1级台阶,那显然只有一种跳法。如果有2级台阶,那就有两种跳法:一种是分两次跳,每次跳1级;另一种就是一次跳两级。将n级台阶时的跳法看成n的函数,记为。当n>2时,第一次跳的时候就有两种选择:一是第一次只跳1级,此时跳法数目等于后面剩下的n-1级台阶...
2019-06-26 21:42:56
3072
原创 《剑指Offer》-- 二叉树的下一个结点(Pyhton实现)
题目:给定一个二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点出了有两个分别指向左、右子节点的指针,还有一个指向父节点的指针结合图,可以将问题分成两大类:1、该节点有右子树,那么下一个节点就是该节点的右子树中最左子节点,例如:b节点的下一个节点是h2、该节点没有右子树(1)该节点为父节点的左子节点,那么下一个节点是父节点。例如:d的下一个节点是b,f的下一个...
2019-06-26 17:53:12
100
原创 Python启动多进程并行处理数据集--模板--(必须干货,含代码模板)
写在开头:你完全可以按照我的模板实现 python并行处理数据,只有7个步骤背景:已知数据集中包含5500张图片,每一张图片都需要进行图像处理,使用单线程耗费时间大约45min。因此,单线程是不可能的,这辈子都不可能单线程的。。。解决办法:使用python中的多进程(真香!)注意:该博客不会说明太多原理性的东西,只会告诉你如何去做,怎么去实现。原理性、底层性的知识出门右拐。实现步骤...
2019-05-21 10:52:03
4459
2
原创 机器学习学习笔记:决策树归纳算法(ID3)
前言:决策树是机器学习分类方法中的一个重要的算法。决策树分类一般只适用于小数据。什么是决策树?决策树是一个类似于流程图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性的输出,而每个树叶结点代表类或类结点。树的最顶层是根节点。(根节点的选取十分重要)熵(entropy)概念:信息熵计算是决策树中的计算环节。1948年,香农提出了“信息熵”的
2017-11-05 14:35:55
1446
原创 Python中获取文件的路径
假设存在文件目录为/home/fitz/demo/在该目录下存在4个分类目录:./11 ./22./33在这4个分类目录下又各自有不同的文件,假设都是.jpg文件。现在我需要将.jpg文件的完整路径名获取,并且保存下来首先定义变量存放文件目录:image_path = '/home/fitz/demo/'#获取image_path文件下下所有文件夹的名称(4个分类目录下文件
2017-10-27 20:21:15
5189
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人