自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python构建二叉树测试用例--返回根节点

python构建二叉树测试用例–返回根节点# 定义树节点.class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = None #将输入的列表转化为一棵二叉树,返回根节点def deserialize(data): def dfs(data): val = data.pop(0)

2020-08-18 12:52:29 1504

原创 python基础语法--if--elif--else条件语句

1. if 语句if expression: expr_true_suite#例子:if 2 > 1 and not 2 > 3: print('Correct Judgement!')#输出:Correct Judgement!2. if - else 语句if expression: expr_true_suiteelse: expr_false_suitePython 提供与 if 搭配使用的 else,如果 if 语句的条件表达式结果

2020-07-23 23:10:09 2659

原创 新闻文本分类赛事Task2--数据读取与数据分析

将比赛数据集下载,如下目录:读取数据集import pandas as pdtest_a = pd.read_csv('test_a.csv')test_a.head()#默认取出数据前五行test_a.iloc[0]#输出:0 5399 3117 1070 4321 4568 2621 5466 3772 4516 2...1 2491 4109 1757 7539 648 3695 3038 4490 23 7019...Name: text, dtype: obje

2020-07-23 22:56:59 208

原创 python--变量、数据类型及运算符

1. 变量和赋值在使用变量之前,需要对其先赋值。变量名可以包括字母、数字、下划线、但变量名不能以数字开头。Python 变量名是大小写敏感的,foo != Foo2. 数据类型与转换整型,例如 0, 100,-12浮点型,通常所说的师叔,例如2.30,-0.123, 1.0等布尔型布尔 (boolean) 型变量只能取两个值,True 和 False。当把布尔型变量用在数字运算中,用 1 和 0 代表 True 和 False获取类型信息,使用type(对象)函数类型转换:转换为整型

2020-07-22 23:00:14 140

原创 NLP之新闻文本分类挑战赛--赛题理解

一、赛题数据赛题以新闻数据为赛题数据,数据集报名后可见并可下载。赛题数据为新闻文本,并按照字符级别进行匿名处理。整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐的文本数据。赛题数据由以下几个部分构成:训练集20w条样本,测试集A包括5w条样本,测试集B包括5w条样本。为了预防选手人工标注测试集的情况,比赛数据的文本按照字符级别进行了匿名处理。label :6text :57 44 66 56 2 3 3 37 5 41 9 57 44

2020-07-21 23:16:09 388

原创 leetcode的python实现--350. 两个数组的交集 II

350. 两个数组的交集 II题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。我们可以不考虑输出结果的顺序。进阶:如果给定的数组已经排好序呢?你将如何优化你的算法?如果 nums1 的大小比 nums2

2020-07-13 21:08:50 156

原创 模型的欠拟合与过拟合及其解决方法

模型的欠拟合与过拟合及其解决方法(一)、欠拟合与过拟合训练数据分成三部分**:训练集,验证集和测试集**.验证集和测试集均不参与模型训练迭代.欠拟合:当训练集和验证集/测试集的误差都较大时,此时模型是欠拟合的,可以认为此时模型还无法有效捕捉训练数据中存在的基本信息来进行决策,此时模型的偏差较大过拟合:当训练集误差很小,而验证集/测试集的误差较大时,此时模型是过拟合的,可以认为此时模型已经过度捕捉训练数据中存在的基本信息来,在对验证集和测试集进行决策时,稍微不同的数据就会导致模型的预测大不相同,也就是

2020-07-11 16:20:19 2786 2

原创 监督学习下的判别式模型和生成式模型

(一) 、监督学习下的判别式和生成式模型监督学习的任务就是学习一个模型,应用这一模型,对给定特征的的输入样本,预测样本相应的输出。这个模型的一般形式为决策函数:Y=f(X)或者条件概率分布:P(Y|X)决策函数Y=f(X):输入一个特征为X的样本,模型输出一个Y,这个Y与一个阈值比较,根据比较结果判定X属于哪个类别。例如二分类(Y1和Y2)问题,如果Y大于阈值,特征为X的样本就属于类Y1,如果Y小于阈值就属于类Y2。通过决策函数的输出直接就能得到特征为X的样本对应的类别了。条件概率分布P(Y|

2020-07-11 15:35:40 1750

原创 全概率、条件概率和贝叶斯公式

全概率公式、条件概率、贝叶斯公式条件概率定义事件A和事件B,事件AB同时发生的概率表示为P(AB),事件B发生的条件下,事件A发生的概率为 P(A|B) = P(AB)/P(B)由此可以推出:P(AB) = P(A|B) *P(B) = P(B|A) *P(A)全概率公式设 A1,A2,A3…An,…是样本空间Ω的n 个划分,A1,A2,A3…An 两两互斥,B为任一事件,则P(B) =P(B A1) + P(B A2) +P(B A3) + …+ P(B An) = P(B|A1) *

2020-07-11 15:01:10 574

原创 leetcode的python实现--34. 在排序数组中查找元素的第一个和最后一个位置

leetcode–34.在排序数组中查找元素的第一个和最后一个位置题目描述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: [-1,-1]

2020-07-09 18:22:44 317

原创 leetcode的python实现-81 搜索旋转排序数组 II

leetcode的python实现-81 搜索旋转排序数组 II题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。示例 1:输入: nums = [2,5,6,0,0,1,2], target = 0输出: true示例 2:输入: nums = [2,5,6,0,0,1,2], target

2020-07-09 18:22:17 188

原创 leetcode的python实现-33 搜索旋转排序数组

leetcode的python实现-33 搜索旋转排序数组题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2], target = 0输出: 4示例 2:输入:

2020-07-09 18:19:55 126

原创 leetcode的python实现--32. 最长有效括号

leetcode的python实现–32. 最长有效括号题目描述给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-valid-parentheses著作权归领扣网络所有。商业转载

2020-07-04 19:02:36 224

原创 leetcode的python实现--108. 将有序数组转换为二叉搜索树

108. 将有序数组转换为二叉搜索树题目描述将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:   0  /  \  -3    9  /    /-10    5来源:力扣(LeetCode)官网连接:https://l

2020-07-03 10:38:16 297

原创 leetcode的python实现-718. 最长重复子数组

leetcode的python实现-718. 最长重复子数组题目描述给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例 1:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出: 3解释:长度最长的公共子数组是 [3, 2, 1]。说明:1 <= len(A), len(B) <= 10000 <= A[i], B[i] < 100来源:力扣(LeetCode)链接:https://leetcode-cn.com

2020-07-01 10:31:17 333

原创 leetcode的python实现-(225) 用队列实现栈

leetcode的python实现-(225) 用队列实现栈题目描述使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标

2020-06-30 11:30:55 224

原创 leetcode的python实现-(232)用栈实现队列

leetcode的python实现-(232)用栈实现队列题目描述使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(); // 返回 1queue.empty();

2020-06-30 11:14:19 234

原创 leetcode的python实现--剑指offer 09 用两个栈实现队列

剑指 Offer 09. 用两个栈实现队列题目描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“d

2020-06-30 11:13:18 3853

原创 leetcode的python实现-(209) 长度最小的子数组

leetcode的python实现-(209) 长度最小的子数组题目描述给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。思路1.双指针.使用两个指针l和r, 指针r先往后扫描,得到前缀和第一次大于目标值s时,指针l 再从头开始扫描, 每次l

2020-06-28 21:49:34 310

原创 leetcode的python实现-面试题 02.01. 移除重复节点

leetcode-面试题 02.01. 移除重复节点题目描述编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3]示例2:输入:[1, 1, 1, 1, 2]输出:[1, 2]提示:链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内。进阶:如果不得使用临时缓冲区,该怎么解决?官网题目链接:https://leetcode-cn.com/problems/remove-dupli

2020-06-26 21:55:36 289

原创 leetcode的python实现--(64)最小路径和--动态规划

动态规划的一个模型三个特征的特点:leetcode-(64)最小路径和题目描述给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例输入:[ [1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。思路因为只能向右或者向下移动,要走到走到在第i行第j列的网格,必须是从第i-1行第j列的网格或者第i行第j-1列的网格移动过来,假设二维数组dp[

2020-06-25 16:56:04 299

原创 leetcode的python实现--(63)不同路径 II--动态规划

leetcode-(63)不同路径 II题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[[0,0,0],[0,1,0],[0,0,0]]输出: 2解释:3x3 网格的

2020-06-25 16:54:26 264

原创 leetcode的python实现--(62)不同路径--动态规划

首先简要回顾以下动态规划的特点。动态规划可总结为“一个模型三个特征”。一个模型指的是“多阶段决策最优解模型”,即用动态规划来解决最优问题的过程,需要经历多个决策阶段。每个决策阶段都对应着一组状态。然后我们寻找一组决策序列,经过这组决策序列,能够产生最终期望求解的最优值。三个特征分别是最优子结构、无后效性和重复子问题。1. 最优子结构指的是,问题的最优解包含子问题的最优解,后面阶段的状态可以通过前面阶段的状态推导出来。2. 无后效性有两层含义,第一层含义是,在推导后面阶段的状态的时候,我们只关心前面阶

2020-06-25 16:49:47 283

原创 街景字符编码识别-Task05-模型集成

学习目标学习集成学习方法以及交叉验证情况下的模型集成 学会使用深度学习模型的集成学习模型集成集成学习方法介绍 深度学习中的集成学习 Dropout TTA Snapshot 一、集成学习方法介绍集成学习(ensemble learning)通过构建并结合多个弱学习器来综合得到一个强学习器的方法。机器学习领域的集成方法有bagging、boosting、stacking。Bagging(bootstrap aggregating,装袋)Bagging使用装袋采样来获取数

2020-06-02 17:56:05 193

原创 街景字符编码识别-Task04-模型训练、验证和测试

学习目标理解验证集的作用,并使用训练集和验证集完成训练 学会使用Pytorch环境下的模型读取和加载,并了解调参流程模型训练与验证构造验证集 模型训练与验证 模型保存与加载 模型调参流程一、训练集、验证集和测试集训练集:用于模型拟合的数据样本。验证集:模型训练过程中单独留出的样本集。不参与模型的训练,可以用于调整模型的超参数和用于对模型的能力进行初步评估。测试集:用来评估模最终模型的泛化能力。不参与模型的训练,不能作为调参、选择特征等算法相关的选择的依据。二、街景字符.

2020-05-30 22:46:54 363

原创 街景字符编码识别Task03-CNN发展介绍及Pytorch构建CNN模型

Task03:字符识别模型学习目标学习CNN基础知识和原理 使用Pytorch框架构建CNN模型,并完成训练字符识别模型CNN介绍 CNN发展 Pytorch构建CNN模型三.卷积神经网络卷积神经网络(Convolutional Neural Network)简称CNN,是图像识别领域的深度神经网络模型。以二维卷积层为例进行介绍。二维卷积层,常用于处理图像数据。它将图片输入和卷积核做互相关运算,并加上一个标量偏置来得到输出。卷积层的模型参数包括卷积核和标量偏置。卷积核移动时有填充

2020-05-26 22:39:02 522

原创 街景字符编码识别-Task02-数据读取与数据扩增

学习目标 学习Python和Pytorch中图像读取 学会扩增方法和使用Pytorch读取赛题数据 以下测试平台及库的版本号依次为: ubuntu 18.04,python 3.6,jupyter 1.0.0,notebook 6.0.3,Pillow 7.1.2,pytorch1.3.1,matplotlib 3.2.11.Python的PIL库读取图片Python有一个强大方便的图像处理库叫PIL(Python Image Library),只支持到Python 2.7。而.

2020-05-24 00:15:57 207

原创 天池CV赛事-街景字符编码识别

一、赛题背景赛题以计算机视觉中字符识别为背景,要求选手预测真实场景下的字符识别,这是一个典型的字符识别问题。二、赛题数据赛题来源自Google街景图像中的门牌号数据集(The Street View House Numbers Dataset, SVHN),并根据一定方式采样得到比赛数据集。数据集报名后可见并可下载,该数据来自真实场景的门牌号。训练集数据包括3W张照片,验证集数据包括1W张照片,每张照片包括颜色图像和对应的编码类别和具体位置;为了保证比赛的公平性,测试集A包括4W张照片,测试

2020-05-20 14:18:10 468

原创 leetcode-二叉树的层序遍历python实现

二叉树是每个节点最多有两个子树的树结构。二叉树的遍历有深度优先遍历(Depth-First-Search,DFS)和广度优先遍历(Breadth-First-Search,BFS)两类。深度优先遍历包括前序遍历、中序遍历、后续遍历;广度优先遍历也就是二叉树层序遍历。访问节点的顺序如下。前序遍历:根节点,左子节点,右子节点中序遍历:左子节点,根节点,右子节点后序遍历:左子节点,右子节点,根节点层序遍历:从上到下,从左至右依次遍历节点以下将给出这层序遍历的python实现,分别对应leetc

2020-05-17 11:14:07 1335

原创 leetcode-二叉树的前、中、后序遍历python实现

二叉树是每个节点最多有两个子树的树结构。二叉树的遍历有深度优先遍历(Depth-First-Search,DFS)和广度优先遍历(Breadth-First-Search,BFS)两类。深度优先遍历包括前序遍历、中序遍历、后续遍历;广度优先遍历也就是二叉树层序遍历。访问节点的顺序如下。前序遍历:根节点,左子节点,右子节点中序遍历:左子节点,根节点,右子节点后序遍历:左子节点,右子节点,根节点层序遍历:从上到下,从左至右依次遍历节点以下将分别通过递归法和迭代法给出这几种遍历的python实

2020-05-17 11:13:09 338

原创 冒泡排序,选择排序,插入排序,快速排序的python实现

1.冒泡排序每轮循环中依次比较相邻两个数的大小,交换元素顺序使得大的值往后移动,时间复杂度O(n2)#冒泡排序def BubbleSort(array): for i in range(len(array)-1): for j in range(len(array)-i-1): if array[j]>array[j+1]: ...

2020-05-03 22:44:06 184

原创 pytorch动手深度学习的笔记[三]

批量归一化(BatchNormalization)对输入的标准化(浅层模型):处理后的任意一个特征在数据集中所有样本上的均值为0、标准差为1。标准化处理输入数据使各个特征的分布相近批量归一化(深度模型):利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的数值更稳定。1.对全连接层做批量归一化位置:全连接层中的仿射变换和激活函数之间。2.对卷积层做批...

2020-02-26 15:25:52 142

原创 pytorch动手深度学习的笔记[二]

一.循环神经网络循环神经网络基于当前的输入与过去的输入序列,预测序列的下一个字符。它引入一个隐藏变量H,用Ht表示H在时间步t的值。Ht的计算基于Xt和Ht−1,可以认为Ht记录了到当前字符为止的序列信息,利用Ht对序列的下一个字符进行预测。1.隐状态的引入2.one-hot向量3.初始化模型参数:隐藏层参数,输出层参数。4.定义模型后裁剪梯度,定义预测函数,定义模型训练函数,使用困惑度...

2020-02-19 21:55:14 247

原创 pytorch动手深度学习的笔记[一]

关键词总结[一]线性回归(一)线性回归的基本要素:1.模型,2.数据集(训练集,样本,标签,特征等概念),3.损失函数(平方函数),4.优化函数(使用随机梯度下降法,最小化损失函数),5.矢量计算(二)线性回归模型从零开始的实现1.生成数据集,图像展示2.读取数据集3.初始化模型参数:权重和偏置4.定义模型5.定义损失函数(均方误差函数)6.定义优化函数(最小批随机梯度下降法)...

2020-02-14 15:37:45 142

空空如也

空空如也

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

TA关注的人

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