a857553315的博客

私信 关注
chnhbhndchngn
码龄9年
  • 216,831
    被访问量
  • 203
    原创文章
  • 23,428
    作者排名
  • 65
    粉丝数量
  • 于 2012-01-16 加入CSDN
获得成就
  • 获得121次点赞
  • 内容获得41次评论
  • 获得386次收藏
荣誉勋章
TA的专栏
  • LeetCode
    30篇
  • 剑指offer(第2版)
    12篇
  • 数据处理
    7篇
  • sklearn
    9篇
  • 工具使用
    3篇
  • torch
    9篇
  • 大数据
    2篇
  • Spark+Python
    1篇
  • 数据挖掘
    31篇
  • python笔记
    88篇
  • Linux学习
    7篇
  • java小知识点
    5篇
  • mysql
    4篇
  • TensorFlow学习笔记
    13篇
  • 电脑知识
    2篇
  • 数据结构
    12篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

并不是所有的异常都可以捕获到之 SyntaxError: invalid syntax

有些语法错误是捕获不到异常的try:# num = int(input('请输入数字:')) num = 3 if num % 2 == 0 and num % 3 == 0: print('2,3的倍数') # 待捕获处 elif num %2 = 0: print('2的倍数') elif num % 3 == 0: print('3的倍数') else: print('其他'
原创
8阅读
0评论
0点赞
发布博客于 6 天前

df.fillna函数

import pandas as pdimport numpy as npdf = pd.DataFrame([[1, 2, 3], [np.nan, np.nan, 2], [np.nan, np.nan, np.nan], [8, 8, np.nan]])dfdf.fillna({0:10, 1:11, 2:22})有人问, 列中以为有了nan, 所以...
原创
28阅读
0评论
0点赞
发布博客于 17 天前

566. 重塑矩阵

在MATLAB中,有一个非常有用的函数reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。这篇文章的三个版本的代码的效率差别并不是很大第一版代码:主要思想就是把原始的数组拉伸放到一个新的列表中, 然后从这个列表中整行整行地取.
原创
21阅读
1评论
0点赞
发布博客于 18 天前

461. 汉明距离

461. 汉明距离两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。注意:0 ≤x,y< 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。第一版代码: 就是直接求整数的二进制表达式, 又因为前两位是"0b", 从第三位开始截取有用的信息.又因为如果两个数差...
原创
12阅读
0评论
0点赞
发布博客于 19 天前

485. 最大连续 1 的个数

485. 最大连续 1 的个数难度 简单给定一个二进制数组, 计算其中最大连续 1 的个数。第一版代码: 没啥解释的, 很直观的代码, 缺点就是使用了很多字符串和列表的独有的方法, 并且来回转换格式, 耗时较多class Solution: def findMaxConsecutiveOnes(self, nums: List[int]) -> int: li = map(str, nums) li = "".join(li)
原创
14阅读
0评论
0点赞
发布博客于 19 天前

448. 找到所有数组中消失的数字

难度 简单给定一个范围在 1 ≤ a[i] ≤n(n= 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1,n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]思路: 首先创造一个空列表, 列表的所有值都是0, 因为原始的列表是没有0 的, 所以我们创建的这个列表要以原始...
原创
73阅读
0评论
0点赞
发布博客于 22 天前

567. 字符串的排列

难度 中等给定两个字符串s1和s2,写一个函数来判断s2是否包含s1的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。这道题其实就是从s2中选取与s1等长的字符串(如果长度都不相同, 那么无论s1无论怎么组合都不成的), 然后判断其中的数据统计结果是不是一样, 应该算是比较简单的题,我首先想到的就是将统计结果存到一个字典当中, 这里容易忽略的一点就是当字典中某个键的值为0的时候是需要删除这个键的第一版代码class Solution: def chec...
原创
13阅读
0评论
0点赞
发布博客于 25 天前

1423. 可获得的最大点数

1423. 可获得的最大点数难度中等几张卡牌排成一行,每张卡牌都有一个对应的点数。点数由整数数组cardPoints给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿k张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组cardPoints和整数k,请你返回可以获得的最大点数。示例 1:输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右...
原创
15阅读
0评论
0点赞
发布博客于 29 天前

66. 加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入:digits = [1,2,3] 输出:[1,2,4] 解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1] 输出:[4,3,2,2] 解释:输入数组表示数字 ...
原创
24阅读
0评论
0点赞
发布博客于 1 月前

643. 子数组最大平均数 I

643. 子数组最大平均数 I给定n个整数,找出平均数最大且长度为k的连续子数组,并输出该最大平均数。示例:输入:[1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75第一版代码(直接求解: 每K个求一下平均数)class Solution: def findMaxAverage(self, nums: List[int], k: int) -> float: ...
原创
14阅读
0评论
0点赞
发布博客于 1 月前

888 公平的糖果棒交换

888. 公平的糖果棒交换连接:https://leetcode-cn.com/problems/fair-candy-swap/submissions/爱丽丝和鲍勃有不同大小的糖果棒:A[i]是爱丽丝拥有的第i根糖果棒的大小,B[j]是鲍勃拥有的第j根糖果棒的大小。因为他们是朋友,所以他们想交换一根糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组ans,其中ans[0]是爱丽丝必须交换的糖果棒的大小,an...
原创
28阅读
0评论
0点赞
发布博客于 1 月前

方阵的特征值和特征向量的求解案例(三阶方阵)

下面验证一下
原创
51阅读
0评论
0点赞
发布博客于 2 月前

方阵的特征值和特征向量的求解案例(二阶方阵)

原创
33阅读
0评论
0点赞
发布博客于 2 月前

安装nltk后下载数据时, 网络出错处理方法

安装nltk工具包后需要下载很多文本数据或者停用词但是有可能出现错误, 如下图所示关闭窗口后, 会出现服务器的地址, 但是仍然是没有数据这时只需要讲服务器的地址修改为 http://www.nltk.org/nltk_data/回车即可如下图:然后选取要下载的数据, download就可以下载了...
原创
23阅读
0评论
0点赞
发布博客于 2 月前

python安装的docx出错 No module named ‘exceptions‘

有时为了需要我们要通过python操作word可以通过安装docx进行操作但是如果是通过以下命令安装的, 可能会出现一些问题pip install docx出现的问题是:这是安装的包不对, 先卸载pip uninstall docx然后重新合适的工具包pip install python-docx然后再运行就不报错了...
原创
193阅读
0评论
0点赞
发布博客于 4 月前

jupyter notebook启动后无法自动打开Chrome浏览器

如果重新安装, 重新生成配置文件还是无法解决的话, 可能是防火墙惹的祸我们需要将python.exe jupyter.exe设置成防火墙允许的应用程序确定添加最后在查找确认一下如果还是不行的话, 请参考https://blog.csdn.net/xc555/article/details/81944979和https://blog.csdn.net/weixin_41813895/article/details/81739502...
原创
298阅读
0评论
0点赞
发布博客于 5 月前

给pip配置多个国内镜像源

当我们使用 pip install *****进行安装各种工具包的时候, 有时会很慢甚至是安装中间中断, 因此我们最好安装国内的镜像源win 安装步骤:1 进入 C:\Users\Administrator\AppData\Roaming 路径, 注意: AppData是隐藏的文件夹2 创建文件夹 pip3 在pip文件夹内创建文本文件, 名称随意, 输入以下内容[global]index-url=http://mirrors.aliyun.com/pypi/simpl...
原创
366阅读
0评论
0点赞
发布博客于 5 月前

剑指 Offer 64. 求1+2+…+n

剑指 Offer 64. 求1+2+…+n难度中等求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。class Solution: def sumNums(self, n: int) -> int: return int((1 + n) * n / 2)这是使用了数学的思想如果使用递归的思想呢?首先确定python的布尔的操作结果:也就是进行布尔and操..
原创
18阅读
0评论
0点赞
发布博客于 5 月前

python版本 取序列中的topK最大值

创建小根堆, 使用python内部的模块 heapqimport heapqimport randomclass TopK: def __init__(self, li, k): self.minheap = [] self.capacity = k self.li = li def push(self, val): if len(self.minheap) >= self.capacity:
原创
253阅读
0评论
0点赞
发布博客于 6 月前

python new init魔法方法

class Myclass(object): def __new__(cls, num): # 至少要有一个参数cls,代表当前类, 此参数(cls)在实例化时 # 由Python解释器自动识别 # 第二个参数num虽然不用, 但是必须有 print("__new__method") return super(Myclass, cls).__new__(cls) # __ne...
原创
43阅读
0评论
0点赞
发布博客于 6 月前

python版本 字典树的构造和测试

最近在看中文分词基数, 其中涉及到了字典树的知识, 研究了一下:class Trie(object): class Node: def __init__(self): self.is_word = False # 是否一个单词的结尾 self.dict = dict() def __init__(self): self.root = Trie.Node() def insert(self, w
转载
44阅读
0评论
0点赞
发布博客于 6 月前

numpy矩阵太大无法完全显示

当矩阵太大而无法完全显示的时候, 添加下面的第二行代码import numpy as npnp.set_printoptions(threshold=np.inf)即可完全显示
原创
226阅读
0评论
1点赞
发布博客于 6 月前

关于计算文本关键字textrank技术点之窗口中的词对

不多说了自己的笔记, 只是计算一个分词组成的列表, 中窗口大小的分词对def word_combine(words, window=2): if window < 2: window = 2 for x in range(1, window): print("
跨度:", x) if x >= len(words): break words2 = wor
原创
75阅读
0评论
0点赞
发布博客于 6 月前

剑指 Offer 54. 二叉搜索树的第k大节点

剑指 Offer 54. 二叉搜索树的第k大节点难度简单给定一棵二叉搜索树,请找出其中第k大的节点。class Solution: def kthLargest(self, root: TreeNode, k: int) -> int: res = None def reverIntertravel(node): nonlocal res nonlocal k if not
原创
30阅读
0评论
0点赞
发布博客于 6 月前

原码 补码及其计算

数值存储是以补码的形式存储, 也是一补码进行计算的例如:其实计算过程是: 0000 0001^ 1111 1111------------------- 1111 1110 这正好是 -2 的补码
原创
197阅读
0评论
0点赞
发布博客于 6 月前

python 不显示warnings部分的设置

python忽略一些警告import warningswarnings.filterwarnings('ignore')
原创
430阅读
0评论
1点赞
发布博客于 7 月前

337. 打家劫舍 III

337. 打家劫舍 III难度中等在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。# Definition for a binary tree node.# class TreeN
原创
65阅读
0评论
1点赞
发布博客于 7 月前

numpy求和np.sum()

numpy求和import numpy as npa = np.array([[1, 2, 1], [3, 4, 5]])# axis=0代表将行进行求和, # 也就是将各个列的不同行进行求和print("axis=0:", np.sum(a, axis=0))# axis=1代表将列进行求和, # 也就是将各个行的不同列进行求和print("axis=1:", np.sum(a, axis=1))# 所有元素求和print(np.sum(a))
原创
751阅读
0评论
2点赞
发布博客于 7 月前

评估方法

from sklearn import metrics# 这些指标是scoring可选择的参数, # cross_val_score, GridSearchCV中的scoreing参数sorted(metrics.SCORERS.keys())结果:['accuracy', 'adjusted_mutual_info_score', 'adjusted_rand_score', 'average_precision', 'balanced_accuracy', 'comp...
原创
85阅读
0评论
0点赞
发布博客于 7 月前

tensorflow 的批数据处理Dataset类的使用方法说明

看到tf好多预处理数据的时候都会使用dataset类及其一些方法, 现在解释说明如下:这里先举一个连续处理的小案例, 然后一步步说明:创建dataset方法很多例如:这里选择一个简单易懂的方法ds_train = tf.data.Dataset.from_tensor_slices([0, 1, 2, 3, 4, 5, 6]) \ .map(add) \ .shuffle(buffer_size=9)\ .batch
原创
261阅读
0评论
0点赞
发布博客于 7 月前

tf生成批数据集

tf生成批数据集ds_train = tf.data.Dataset.list_files("./data/cifar2/train/*/*.jpg") \ .map(load_image) \ .shuffle(buffer_size=2000)\ .batch(100) \ .prefetch(-1).repeat(3)
原创
67阅读
0评论
0点赞
发布博客于 7 月前

tf的io

import tensorflow as tfimg_path = "./data/cifar2/train/airplane/0.jpg"size = (32, 32)img1 = tf.io.read_file(img_path)print(type(img1), img1.shape)img2 = tf.image.decode_jpeg(img1) # 注意此处为jpeg格式print(type(img2), img2.shape)img3 = tf.image.res...
原创
49阅读
0评论
0点赞
发布博客于 7 月前

全角文本变半角文本

在做自然语言处理的时候发现国内的好多语料库都是采用的全角编码的, 这会有些麻烦, 需要将其改编成半角编码import osdef Q2B(uchar): """全角转半角""" inside_code = ord(uchar) if inside_code == 0x3000: inside_code = 0x0020 else: inside_code -= 0xfee0 # 转完之后不是半角字符返回原来的
原创
58阅读
0评论
0点赞
发布博客于 7 月前

numpy 操作

向上, 向下取整import numpy as np# 向上取整, 但不是整数, 需要转换类型np.ceil(2.6)3.0np.ceil(2.6).astype(np.int)3# 向下取整, 但不是整数, 需要转换类型np.floor(2.6)2.0np.floor(2.6).astype(np.int)2...
原创
38阅读
0评论
0点赞
发布博客于 7 月前

python获取 英文标点符号

英文中的所有标点符号from string import punctuationpunctuation结果:'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'删除中文文本中的所有标点符号import repun = ",。……——“”‘’!;"punList = list(set(list(pun)))pattern = re.compile("|".join(punList))res = re.sub(patter..
原创
485阅读
0评论
0点赞
发布博客于 7 月前

keras 2.0.0 的“取长补短“功能 one-hot编码

keras的处理文本数据的取长补短功能from keras.preprocessing.sequence import pad_sequences# # help(pad_sequences)# pad_sequences(sequences, maxlen=None, # dtype='int32', padding='pre', # truncating='pre', value=0.0)x = [[1, 2, 3], [4,
原创
45阅读
0评论
0点赞
发布博客于 7 月前

使用 gensim 训练词向量

第一种情况 直接将文件传入文件内容应该是有空格或 其他风格符 分割好的import gensimsentences = gensim.models.word2vec.Text8Corpus("corpus_cut.txt") print("sentences格式:", sentences)# 训练 skip-gram 模型model = gensim.models.Word2Vec(sentences, size=5, min_count=2, window=3,
原创
130阅读
0评论
0点赞
发布博客于 7 月前

894. 所有可能的满二叉树

894. 所有可能的满二叉树难度中等满二叉树是一类二叉树,其中每个结点恰好有 0 或 2 个子结点。返回包含N个结点的所有可能满二叉树的列表。 答案的每个元素都是一个可能树的根结点。答案中每个树的每个结点都必须有node.val=0。你可以按任何顺序返回树的最终列表。class Solution: def allPossibleFBT(self, N: int) -> List[TreeNode]: def allTree(start, end...
原创
45阅读
0评论
0点赞
发布博客于 7 月前

783. 二叉搜索树节点最小距离

783. 二叉搜索树节点最小距离难度简单66给定一个二叉搜索树的根节点root,返回树中任意两节点的差的最小值。class Solution: def minDiffInBST(self, root: TreeNode) -> int: def travel(node): if not node: return [] return travel(node.left) + [node..
原创
29阅读
0评论
0点赞
发布博客于 7 月前

结巴jieba分词器的各种用法

import jiebajieba.__version__# 默认模式就是精确模式 # 默认参数(sentence, cut_all=False, HMM=True, use_paddle=False)seg_list = jieba.cut("我来到北京清华大学")print(list(seg_list))# 全模式seg_list = jieba.cut("我来到北京清华大学", cut_all=True)print(list(seg_list)) # 搜索引.
原创
306阅读
0评论
0点赞
发布博客于 7 月前

11. 旋转数组的最小数字

剑指 Offer 11. 旋转数组的最小数字难度简单把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2]为[1,2,3,4,5]的一个旋转,该数组的最小值为1class Solution: def minArray(self, numbers: List[int]) -> int: i, j = 0, len(numbers) - 1 w...
原创
32阅读
0评论
0点赞
发布博客于 7 月前

06. 从尾到头打印链表

剑指 Offer 06. 从尾到头打印链表难度简单42输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。使用递归方法最简单 一句代码搞定# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def reversePrin
原创
54阅读
0评论
0点赞
发布博客于 7 月前

95 96 不同的二叉搜索树

96. 不同的二叉搜索树难度中等给定一个整数n,求以1 ...n为节点组成的二叉搜索树有多少种?class Solution: def numTrees(self, n: int) -> int: if n == 0 or n == 1: return n dp = [0] * (n + 1) dp[0] = 1 dp[1] = 1 ...
原创
39阅读
0评论
0点赞
发布博客于 7 月前

通过tfidf求文本的关键字

通过tfidf 求文本的呃关键字
原创
136阅读
0评论
0点赞
发布博客于 7 月前

python中字典和json串的关系

字典是一个数据结构json在python中就是一个字符串实例其中data.json文件的内容为:
原创
70阅读
0评论
0点赞
发布博客于 7 月前

python 多线程

import threadingdef job(n): for i in range(n): i += 2 print(i) print("job end")if __name__ == '__main__': t1 = threading.Thread(target=job, args=(5,)) t1.start() print("main end")结果是:E:\software\anaconda19...
原创
42阅读
0评论
0点赞
发布博客于 7 月前

只出现一次或缺失的数字

136. 只出现一次的数字https://leetcode-cn.com/problems/single-number/难度简单给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。class Solution: def singleNumber(self, nums: List[int]) -> int: for i in range(1, len(nums)): nums[0] = n..
原创
61阅读
0评论
0点赞
发布博客于 7 月前

python中关于字典和Counter()的一点区别

可见字典的update 并不会累加键的值Counter()在进行update时候会累加键的值, 这样可以方便统计, 例如统计文件中出现最多的单词
原创
370阅读
0评论
2点赞
发布博客于 7 月前

718. 最长重复子数组

718. 最长重复子数组难度中等给两个整数数组A和B,返回两个数组中公共的、长度最长的子数组的长度。class Solution: def findLength(self, A: List[int], B: List[int]) -> int: dp = [0 for i in range(len(B))] ans = 0 for i in range(len(A)): for j in range...
原创
37阅读
0评论
0点赞
发布博客于 7 月前

647. 回文子串

647. 回文子串难度中等282给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。class Solution: def countSubstrings(self, s: str) -> int: dp = [0 for i in range(len(s))] ans = 0 for i in range(len(s) - 1, -1,
原创
44阅读
0评论
0点赞
发布博客于 7 月前

03. 数组中重复的数字

剑指 Offer 03. 数组中重复的数字难度简单找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。class Solution: def findRepeatNumber(self, nums: List[int]) -> int: for i in range(len(nums)):
原创
53阅读
0评论
0点赞
发布博客于 8 月前

metrics.classification_report评估模型结果

今天做分类任务遇到一种特殊的情况, 测试集的数据比较小, 预测的结果并不是每个类别都有, 这时使用sklearn.metrics, 并且指所有类别标签的时候会出错但是只要预测的每个类别都有, 真实的可以不全也不会报错...
原创
342阅读
0评论
0点赞
发布博客于 8 月前

gensim训练词向量

gensim训练词向量# -*- coding: utf-8 -*-# @Time : 2020/7/7 12:41# @Author : WngXngimport jiebafrom gensim.models import word2vecimport gensimimport warningswarnings.filterwarnings("ignore")# 对初始语料进行分词处理后,作为训练模型的语料with open("corpus.txt", 'r', e
原创
191阅读
0评论
0点赞
发布博客于 8 月前

基于gensim的lda的小案例

这里有两类文本, 一类是讲环保环境的, 一类是将经济建设的from gensim.corpora import Dictionaryfrom gensim.models.ldamodel import LdaModelfrom gensim import modelstexts = [['社会', '经济', '发展', '国民经济', '各行各业'], ['环境影响', '评价', '城市', '建设项目', '环保'], ['监管', '标准', '手段'
原创
178阅读
0评论
0点赞
发布博客于 8 月前

LeetCode 292. Nim 游戏

LeetCode292. Nim 游戏https://leetcode-cn.com/problems/nim-game/难度简单你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。class Solution: def canWinNim(self, n: int) -> bool:...
原创
44阅读
0评论
0点赞
发布博客于 8 月前

LeetCode 237. 删除链表中的节点

LeetCode237. 删除链表中的节点https://leetcode-cn.com/problems/delete-node-in-a-linked-list/难度简单请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。这道题只给了一个节点, 并没有给head, 让人懵逼半天, 看到非末尾节点才想起来怎么做# Definition for singly-linked list.# class ListNode:# def __i.
原创
32阅读
0评论
0点赞
发布博客于 8 月前

PyTorch中permute的用法 根据指定的维度进行转置

pytorch 中的permute 就像是numpy中的transpose()函数一样, 根据指定的维度进行转置, 我们这里跟view()进行一下对比
原创
445阅读
0评论
0点赞
发布博客于 8 月前

关于nn.embedding的中padding_idx的含义

自然语言中使用批处理时候, 每个句子的长度并不一定是等长的, 这时候就需要对较短的句子进行padding, 填充的数据一般是0, 这个时候, 在进行词嵌入的时候就会进行相应的处理, nn.embedding会将填充的映射为0其中padding_idx就是这个参数, 这里以3 为例, 也就是说补长句子的时候是以3padding的, 这个时候我们液晶padding_idx设为3import torchimport torch.nn as nnembed = nn.Embedding(10, 3,
原创
1720阅读
0评论
2点赞
发布博客于 8 月前

anaconda 的notebook无法shutdown

找到notebook的相关文件将其中的改成四个parent(), 改之前是三个parent()
原创
85阅读
0评论
0点赞
发布博客于 8 月前

LeetCode  739. 每日温度

LeetCode739. 每日温度难度中等请根据每日气温列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0来代替。class Solution: def dailyTemperatures(self, T: List[int]) -> List[int]: length = len(T) stack = [] ans = [0] * length...
原创
45阅读
0评论
0点赞
发布博客于 8 月前

LeetCode32 最长有效括号

LeetCode32. 最长有效括号给定一个只包含'('和')'的字符串,找出最长的包含有效括号的子串的长度。class Solution: def longestValidParentheses(self, s: str) -> int: left, right, maxlen = 0, 0, 0 # left 代表左括号的个数, right代表右括号的个数 # 从左到右遍历 for char in s:...
原创
60阅读
0评论
0点赞
发布博客于 8 月前

torch的池化

原创
135阅读
0评论
0点赞
发布博客于 8 月前

回文子串的数量

647. 回文子串难度 中等给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串class Solution: def countSubstrings(self, s: str) -> int: str_len = len(s) if str_len == 0 or s is None: return 0 dp =
原创
498阅读
0评论
0点赞
发布博客于 8 月前

更新索引 和 离散特征值的处理 pd.get_dummies(X)

我们这里为了演示, 直接删除含有空值的行, 这是会会出现索引不连续的情况, 如图, 索引少了888, 这是我们需要更新索引这时我们看到所有数据从891条变成了712条, 但是原始的所以竟然变成了新的特征列, 这不是我们想要的, 只需添加一个参数即可改变这种情况这才是我们需要的. 但是这个方法返回更新索引的新数据, 原始数据并不会改变, 不信看看原始数据好了, 我们现在说说离散特征的处理, 虽然有from sklearn.preprocessing import One...
原创
213阅读
0评论
0点赞
发布博客于 8 月前

collections.Counter 的比较

Counter的most_common()方法返回的是列表, 如果某个元素的个数相同, 那么就可能顺序不同, 所以是False
原创
137阅读
0评论
0点赞
发布博客于 8 月前

python 字典到底是有序还是无序?

原创
2402阅读
0评论
3点赞
发布博客于 8 月前

keras 将类别进行one-hot编码

from keras.utils import to_categoricaltrain_labels = to_categorical([0, 1, 2, 3, 9])train_labels结果为:array([[1., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 1., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 1., 0., 0., 0., 0., 0., 0., 0....
原创
417阅读
0评论
0点赞
发布博客于 8 月前

torch max()函数

torch.max()返回的是两个值, 第一个是最大值, 第二个是最大值所在的索引, 一般情况,我们都是求最大值所在的索引import torcha = torch.tensor([[1, 5, 2, 1], [2, 6, 3, 8]])print(a)res, index = torch.max(a, 1)print(res)print(index)只用最大值索引求准确率:# 准确率的计算 # 100个样本, 10 个类别predict = torch.rand(100
原创
399阅读
0评论
0点赞
发布博客于 8 月前

pytorch 中 contiguous()

好像是已经过时的函数, 在pytorch0.4之前, view()进行改变形状时, 这个变量tensor的内存必须是连续的, 否则会失败, 但是现在可以了, 举例如下:import torchx = torch.tensor([[1, 2, 0], [0, 0, 0], [0, 0, 0], [0, 2, 3]])mask = x != 0print("mask:
", mask)x = x[mask]print("
x:", x)print("
x内存是否连续:", x.is_
原创
789阅读
0评论
1点赞
发布博客于 8 月前

torch 的 F.cross_entropy

torch中的交叉熵损失函数使用案例import torchimport torch.nn.functional as Fpred = torch.randn(3, 5)print(pred.shape)target = torch.tensor([2, 3, 4]).long() # 需要是整数print(target.shape)# 交叉熵损失函数, 输入的参数是形状不一样的# predict会在其内部进行softmax操作loss = F.cross_entropy(pre
原创
475阅读
0评论
0点赞
发布博客于 8 月前

numpy 的reshape

import numpy as npa = np.random.randn(2, 3)print(a)b = a.reshape(3, 2)print(b)# a本身形状不变print(a)# 但此时, a, b指向的内存是相同的, 但是id又不一致a[0, 0] = 999 # a改变的时候 b也会改变print(a)print(b)...
原创
41阅读
0评论
0点赞
发布博客于 8 月前

结巴 分词及词性

import jiebaimport jieba.posseg as psegwords = pseg.cut("我爱毛主席北京天安门.!")for word, flag in words: print('%s: %s' % (word, flag))打印结果:通过查看jieba的GitHub上, 可以得到词性的简写都代表什么意思
原创
482阅读
0评论
0点赞
发布博客于 8 月前

leetcode 链表求和 两种方法 迭代和递归

面试题 02.05. 链表求和https://leetcode-cn.com/problems/sum-lists-lcci/给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例:输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295输出:2 -> 1 -> 9,即912# Definition for singly-
原创
287阅读
0评论
0点赞
发布博客于 8 月前

leetcode 209 长度最小的子数组

209. 长度最小的子数组难度 中等给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和≥ s的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。使用两个指针, 使用滑动窗口的思想, 当窗口内的数据之和小于target时, 右侧增加数据, 当窗口之内数据之和大于等于target时, 左侧减少数据, 直到右侧不能移动第一个版本:class Solution: def minSubArrayLen(self, s: int, nu...
原创
50阅读
0评论
0点赞
发布博客于 8 月前

torch 的RNN LSTM GRU

首先创造初始值这里画出图帮助理解其实对于每个单元来说 h就是输出, 这里可以看到最终两者的结果是相同但是id 不同, 在tensorflow中两者的id都是相同的真不明白torch创建的rnn单元为啥非得指明输入的x的维度, 这样的模型只能接收一定的x,而tensorflow中rnn单元对输入的维度是没有限制的, 只需指定内部的单元数量及可以了...
原创
100阅读
0评论
0点赞
发布博客于 8 月前

torch squeeze 压缩维度

原创
393阅读
0评论
0点赞
发布博客于 8 月前

类的各种方法和属性

原创
167阅读
0评论
0点赞
发布博客于 8 月前

进制和ASCII 各种转换

原创
137阅读
0评论
0点赞
发布博客于 8 月前

列表的地址, 大小和内容

原创
97阅读
0评论
0点赞
发布博客于 8 月前

torch.multinomial使用

在Word2vec中使用到了非相关数据的降采样方法, 其中用到了torch.multinomial方法, 这里记录一下:multinomial(input, num_samples, replacement=False)该方法主要有三个参数, 分别是输入的张量, 采样的个数, 是否有重复的数据, 采样的时候是根据输入张量的数值当做权重来进行抽样的, 数值越大, 抽到的可能性越大, 越小抽到的可能性越小, 如果是0 则不会抽到由案例可知, 输出的是出入的张量的索引值,当非零数据只有4个时
原创
342阅读
0评论
0点赞
发布博客于 8 月前

余弦相似度

使用sklearn内部的方法计算余弦相似度# 余弦相似度import numpy as npfrom sklearn.metrics.pairwise import cosine_similarityx1 = np.array([[2, 3], [1, 2]])x2 = np.array([[1, 2]])cosine_similarity(x1, x2) 结果是:需要注意的是 这里的输入的必须是二维的数据...
原创
110阅读
0评论
0点赞
发布博客于 8 月前

保存模型的 两种方法

from sklearn.linear_model import LogisticRegressionfrom sklearn import datasetsimport picklefrom sklearn.externals import joblibclf = LogisticRegression()iris = datasets.load_iris()X, y = iris.data, iris.targetclf.fit(X, y)print(clf.score(X, y)).
原创
663阅读
0评论
0点赞
发布博客于 8 月前

python zip的用法 既可以合并列表, 也可以拆分成列表

原创
636阅读
0评论
0点赞
发布博客于 8 月前

汉语的文本通过 tfidf 进行向量转换的案例

汉语的情况比较特殊, 并没有分隔符, 需要自己进行分割, 这里一般不会这样, 而是先使用结巴分词进行分词, 然后再将各个分词以逗号的格式拼接成文本, 然后在进行转换, 将文本信息转换成向量的格式...
原创
224阅读
0评论
0点赞
发布博客于 8 月前

根据词频 TfidfVectorizer 将单词, 句子, 文章变成向量

原创
404阅读
0评论
0点赞
发布博客于 8 月前

根据词频 CounterVectorizer 将单词, 句子, 文章变成向量

原创
169阅读
0评论
0点赞
发布博客于 8 月前

类别标签的转换与反转换

原创
111阅读
0评论
0点赞
发布博客于 8 月前

列表是引用类型

a和b指向的是同一块地址
原创
57阅读
0评论
0点赞
发布博客于 8 月前

SQL面试题

有这么一些数据请写出结果是这样的SQL语句当时没写出来, 现在看来应该是hive的语句吧, 要是MySQL的话, 虽然8.0以后增加了窗口函数, 但是没有collect_list(col)函数啊, 先这样记录一下吧SELECT t1.uid, collect_list (t1.load_date)[0] AS first_load_date, collect_list (t1.last_load_date)[0] AS last_load_dateFROM
原创
84阅读
0评论
0点赞
发布博客于 8 月前

31题. 栈的压入、弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。class Solution: def validateStackSequences(self, pushed, popped): stack = [] i = 0
原创
72阅读
0评论
0点赞
发布博客于 8 月前

join列表的要求

再次强调, 当使用join进行拼接列表时, 列表中的元素必须都得是字符串类型的
原创
93阅读
0评论
0点赞
发布博客于 8 月前

python3 中 global nonlocal关键字

global当在函数内部想要修改全局变量的时候, 需要使用指明global, 这样 内部的变量和全局的变量是指向相同的地址的, 所以修改的时候就是修改全局的变量nonlocalnonlocal 与global类似, 但是他是修饰外部非全局的变量的另外如果在嵌套内部使用global则会使这样的原始全局变量中是没有a的所以会报错, 在嵌套的内部创造了全局的变量, 并赋值, 但是外部函数的a仍是250, 并不会改变...
原创
91阅读
0评论
0点赞
发布博客于 8 月前

jieba分词及词性判断

import jieba.posseg as possegres = posseg.cut("我是中国人")print(type(res))for word, flag in res: print(word, flag)
原创
341阅读
0评论
0点赞
发布博客于 8 月前

生成器, 迭代器, 可迭代对象的关系

可迭代对象能使用 for 循环for i in obj: xxxx的都是可迭代对象生成器生成器不但可以作用于for循环,还可以通过next()函数不断返回下一个值生成器有两种形生成器不但可以作用于for循环,还可以通过next()函数不断返回下一个值式, 一种是将列表生成式的两侧的方括号换成圆括号; 第二种就是在函数中增加yield关键字迭代器生成器都是迭代器调用一个生成器函数,返回的是一个迭代器对象。list、tuple、dict等对象虽然是可迭.
原创
100阅读
0评论
0点赞
发布博客于 8 月前

查看自己的tensorflow的版本和型号(cpu or gpu)

import tensorflow as tffrom tensorflow.python.client import device_libprint("版本:", tf.__version__)print("型号:", device_lib.list_local_devices())
原创
2430阅读
0评论
0点赞
发布博客于 8 月前

numpy不兼容

重新安装的anaconda 和 tensorflow 发现不能能运行numpy 出现这种问题RuntimeError: implement_array_function method already has a docstring重新安装numpy再重新安装matplotlib我这里可就没问题了 记录一下
原创
342阅读
0评论
0点赞
发布博客于 8 月前

在centos7 上安装anaconda3, 启动notebook 并让外网访问

下载安装包首先通过网络下载相应的anaconda安装包到合适的目录wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.10-Linux-x86_64.sh直接运行 shell 命令来安装bash Anaconda3-2019.07-Linux-x86_64.sh我是用的是root用户, 默认是安装到了root的家目录这时需要使用命令souce 重新load一下该配置文件sou
原创
112阅读
0评论
0点赞
发布博客于 9 月前

一 使用Python 运行Spark的安装

过程主要分为五步: 安装 Anaconda 用 Anaconda 安装 Jupyter notebook 用 Anaconda 安装 PySpark 运行 Jupyter notebook 运行测试代码 其中1, 2, 4很简单, 使用python的朋友们应该都是会的, 这里不再赘述3 用 Anaconda 安装 PySparkpip install -U -i https://pypi.tuna.tsinghua.edu.cn/simple py
原创
187阅读
3评论
0点赞
发布博客于 9 月前

聚类的评估指标 轮廓系数

原创
247阅读
0评论
0点赞
发布博客于 9 月前

文本文件过大时, 使用python一行一行读取

首先创建一个大于内存的文本文件, 这里创建的写了20亿个单词的文件是13G, 我的电脑内存是8Gimport randomfrom datetime import datetimestart = datetime.now()f = open("E:/big.txt", 'w', encoding="utf-8")words = ["hello", "spark", "hadoop", "world", "hive", "flink"]num = 0while True: inde
原创
489阅读
0评论
0点赞
发布博客于 9 月前