- 博客(283)
- 资源 (2)
- 收藏
- 关注
原创 Python多进程、多线程及各自的适用场景
多线程与多进程的应用场景不一样:1、线程的创建开销小、由于GIL的存在,无法真正并行,适合GUI、网络通信、文件读写等IO密集型场景;2、进程的创建开销大,可以充分利用多个CPU实现并行,适合计算量比较大(比如单个函数执行需要几分钟、几十分钟以上),且无需IO(简单地说就是数据已经在内存中,不需要读取磁盘、不需要网络通信)的场景。3、多线程、多进程都不适合的场景:基本不涉及IO或只读取一次文件这...
2020-12-04 20:34:00
425
原创 基于LDA主题模型和SVM的文本分类
用LDA模型抽取文本特征,再用线性SVM分类,发现效果很差,F1=0.654。Precision:0.680,Recall:0.649,F1:0.654RandomForestClassifier的表现也比较差:Precision:0.680,Recall:0.668,F1:0.670而随便用一个深度学习模型(textCNN,LSTM+Attention)都能达到0.95+的F1,而且还...
2020-12-04 20:20:00
1128
2
原创 理解accuracy/precision_score、micro/macro
1、accuracy即我们通常理解的准确率,计算的时候是指在预测值pred与目标值target之间重叠的部分的大小除以pred的大小(或target的大小,因为sklearn要求pred与target大小必须一致)。比如target=[2,2,2,3,2]pred=[2,2,1,3,4]此时重叠的部分为pred[0]、pred[1]、pred[3],accuracy=3/5=0....
2020-10-23 17:36:00
3283
原创 个税及税后工资计算
每月个人所得税、税后薪资计算器:def due_tax(due_income): ''' 本函数计算年度应缴个税 :param due_income:本年累计应纳税所得额 :return:本月应缴个税金额 ''' if 0<due_income<=36000:return due_income*0.03-0 #本年累计应纳税所得额*...
2020-09-10 15:53:00
429
原创 python正则模块re.findall的问题
发现python的正则模块re的findall方法跟我预想的不太一样,它匹配的时候会消耗掉之前已经匹配到的字符,例如:[In]:import repat=',\d+,' #表示一个或以上整数前后都有一个逗号text='1,2,3,4,5,6,7,'[In]:result=re.findall(pat,text)print(result)[Out]:[',2,', ',4,',...
2020-09-08 17:39:00
673
原创 【记录】Skipgram和CBow实现
numpy、tensorflow手写SkipGram(没有negative sampling)和cbow:http://www.claudiobellei.com/2018/01/07/backprop-word2vec-python/这两种实现都需要动手算梯度,手动实现梯度下降,且不没有使用negative sampling。Pytorch版实现不用Negative Sampl...
2020-07-10 18:01:00
282
原创 【转】Transformer实现Pytorch版
https://blog.floydhub.com/the-transformer-in-pytorch/哈佛版本:http://nlp.seas.harvard.edu/2018/04/03/attention.htmlhttps://pytorch.org/docs/1.3.0/_modules/torch/nn/modules/transformer.html
2020-07-10 17:08:00
436
原创 立体测试
#stage { background-color: rgba(0, 0, 0, 1); perspective: 800px; perspective-origin: center; -webkit-perspective: 800px; -webkit-perspective-origin: 50% 50% }#stage .cubic { position: rela...
2020-04-26 14:30:00
95
原创 自定义计算函数运行耗时的函数
自定义计算函数运行耗时的函数import timeimport functoolsdef running_time(func): @functools.wraps(func) def wrapper(*args,**kwargs): start=time.time() result=func(*args,**kwargs) ...
2020-04-23 13:29:00
133
原创 CNN卷积神经网络的卷积层、池化层的输出维度计算公式
卷积层Conv的输入:高为h、宽为w,卷积核的长宽均为kernel,填充为pad,步长为Stride(长宽可不同,分别计算即可),则卷积层的输出维度为:其中上开下闭开中括号表示向下取整。MaxPooling层的过滤器长宽设为kernel*kernel,则池化层的输出维度也适用于上述公司计算。具体计算可以AlexNet为例。...
2020-03-11 19:50:00
3220
原创 Python所有异常错误的父类--BaseException
BaseException # 所有异常的基类 +-- SystemExit # 解释器请求退出 +-- KeyboardInterrupt # 用户中断执行(通常是输入^C) +-- GeneratorExit # 生成器(generator)发生异常来通知退出 +-- Exception # 常规异常的基类 +-- StopIteration # 迭代器没有...
2020-03-06 19:08:00
2399
1
原创 DataFrame迭代过程中多行修改
方法1:df.loc[conditions]=row.values,逐行地进行整行替换for row in df.iterrows(): row['given_amount']=row['amount']; row['given_percent']=1 row['remain_amount']=0 row['remain_percent']=0 tot...
2020-02-25 15:28:00
257
原创 《动手学深度学习》在线文档
《动手学深度学习》在线文档,numpy版本:https://zh.d2l.ai/chapter_preface/preface.html
2020-01-08 10:30:00
115
原创 【Python】自己写日志功能
Python有自带的logging模块,用于日志记录,功能很强大,但不好用,使用挺麻烦的,而且发现了几个bug,调用了一个logger.warning()一次,结果日志文件中出现了n行记录,且逐渐变成n+1,n+2,...越来越多。也不想去查原因,索性自己写一个日志功能。我想要的日志的核心功能就只有两点:1. 保存触发时间、异常堆栈信息。2. 用文件形式保存。上面第1点可以用Python...
2019-12-31 19:21:00
167
原创 坑爹的PostgreSQL的美元符号(有时需要替换成单引号)
今天想在PostgeSQL数据库里建一个存储过程(或函数也行),由于对存储过程比较生疏,上网搜了很多教程和源代码例子,照着写,发现怎么都不行,甚至把网上教程包括官方教程的源代码原封不动的复制下来一执行都会报错,教程示例:---创建自定义函数sales_taxCREATE or replace FUNCTION sales_tax(subtotal real) RETURNS real A...
2019-11-07 21:14:00
3513
2
原创 DataFrame的apply用法
DataFrame的apply方法:def cal_value_percent(row,total_value): row['new_column']=row[estimated_value_col]/total_value return row df=df.apply(lambda row:cal_value_percent(row,total),axis=1)Se...
2019-11-04 19:20:00
259
原创 Pytorch写CNN
用Pytorch写了两个CNN网络,数据集用的是FashionMNIST。其中CNN_1只有一个卷积层、一个全连接层,CNN_2有两个卷积层、一个全连接层,但训练完之后的准确率两者差不多,且CNN_1训练时间短得多,且跟两层的全连接的准确性也差不多,看来深度学习水很深,还需要进一步调参和调整网络结构。CNN_1:runnig time:29.795 sec.accuracy: 0.8688...
2019-10-25 19:11:00
159
原创 Pytorch分类和准确性评估--基于FashionMNIST数据集
最近在学习Pytorch v1.3最新版和Tensorflow2.0。我学习Pytorch的主要途径:莫烦Python和Pytorch 1.3官方文档,Pytorch v1.3跟之前的Pytorch不太一样,比如1.3中,Variable类已经被弃用了(目前还可以用,但不推荐),tensor可以直接调用backward方法进行反向求导,不需要再像之前的版本一样必须包装成Variable对象之...
2019-10-23 20:51:00
572
原创 设置Mac终端、pip、Anaconda、PyCharm共用一套环境
最近我在用Macbook Pro练习PyTorch的时候,发现明明在终端已经用pip安装了PyTorch,但在pycharm运行时总是报错:No module named torch.但是我把同样的代码用Spyder跑就没有问题,感动很费解,找了很多资料,终于弄明白了。原来Pycharm、Spyder和终端用的不是同一个环境,在终端安装的地方没有用在pycharm里面。 下面记录一下解...
2019-10-12 16:27:00
538
原创 Python编程基本规范
1、命名规范类:类的名称一般为名词,且以驼峰形式(即每个单词首字母要大写,其余字母小写,单词之间无间隔符号)给出。函数:一般以动词开头,函数名称要准确、简要地概括本函数的作用。函数名一律小写,如有多个单词,用下划线隔开。变量:变量取名应有实际含义,尽量避免单个字母如m,n,i,j等,除非该变量无实际业务含义。变量名应小写,如有多个单词用下划线隔开。常量:所有字母大写,多个单词以下划线隔...
2019-09-27 15:42:00
171
原创 【转】动态规划:最长递增子序列Longest Increasing Subsequence
转自:https://www.cnblogs.com/coffy/p/5878915.html设f(i)表示L中以ai为末元素的最长递增子序列的长度。则有如下的递推方程:这个递推方程的意思是,在求以ai为末元素的最长递增子序列时,找到所有序号在L前面且小于ai的元素aj,即j<i且aj<ai。如果这样的元素存在,那么对所有aj,都有一个以aj为末元素的最长递增子序列,设其长度为f...
2019-08-30 19:55:00
91
原创 动态规划--找零钱
1 coins=[1,2,5,10,50,100] #硬币面值 2 3 def cal_change(total): 4 if total<=0: 5 return 0 6 else: 7 res=[] 8 for coin in [x for x in coins if x<=total]: 9 ...
2019-08-19 18:04:00
94
原创 pandas如何逐行需改DataFrame
逐行修改DataFrame而不会报SettingwithCopyWarning警告的方法:df.iloc[行数,df.columns.get_loc(列名)]=new_value参考:https://cloud.tencent.com/developer/ask/168023/answer/270064逐行修改数据时,我们可能关注或只记得列名,这时使用df.iloc或者df.loc都不...
2019-07-25 20:50:00
354
原创 neo4j开发自定义存储过程注意事项
开发自定义的neo4j存储过程(procedures)注意事项及说明:1.调用方式:在neo4j的web界面(http://localhost:7474/)命令行输入框内,输入call your_procedure_name。其中your_procedure_name格式为:包名+函数名2.开发的步骤:新建一个java工程项目,在一个类文件(如GraphDatabaseTest类)中写...
2019-01-08 10:47:00
124
原创 画出决策边界线--plot_2d_separator.py源代码【来自python机器学习基础教程】
1 import numpy as np 2 import matplotlib.pyplot as plt 3 from .plot_helpers import cm2, cm3, discrete_scatter 4 5 def _call_classifier_chunked(classifier_pred_or_decide, X): 6 # The chu...
2018-12-19 23:18:00
340
原创 【书签】连续型特征的归一化和离散特征的one-hot编码
1.连续型特征的常用的归一化方法、离散型特征one-hot编码的意义2.度量特征之间的相关性:余弦相似度和皮尔逊相关系数
2018-11-19 20:23:00
236
原创 【书签】stacking、blending
读懂stacking:模型融合Stacking详解/Stacking与Blending的区别https://blog.csdn.net/u014114990/article/details/50819948https://mlwave.com/kaggle-ensembling-guide/The basic idea behind stacked generalization is to...
2018-10-30 18:38:00
75
原创 正则表达式:匹配单个数字重复n次
匹配单个数字重复n次:(\d)\1{n-1}其中,\d表示一位数字,(\d)表示匹配之后捕获该匹配,并分组并对组进行编号\1表示被捕获的第一个分组{n-1}是因为被捕获的第一个分组已经消耗了一位数字,因此要减1。注意:用python写的时候,模式字符串引号前面一定要加r,即应该写成:re.findall(r'(\d)\1{3}','11112222')而不是re.findall('(\d...
2018-09-25 14:53:00
1148
原创 pandas删除DataFrame中任意字段等于'null'字符串的行
删除df中任意字段等于'null'字符串的行:df=df.astype(str)#把df所有元素转为str类型df=df[df['A'].isin(['null','NULL'])] #找出df的'A'列值为'null'或'NULL'(注意此处的null是字符串,不是空值)df=df[~df['A'].isin(['null','NULL'])] #过滤掉A列为'null'或'NULL'...
2018-09-21 10:36:00
230
原创 中文的csv文件的编码改成utf-8的方法
直奔主题:把包含中文的csv文件的编码改成utf-8的方法:https://stackoverflow.com/questions/191359/how-to-convert-a-file-to-utf-8-in-python啰嗦几句:在用pandas读取hive导出的csv文件时,经常会遇到类似UnicodeDecodeError: 'gbk' codec can't decode by...
2018-09-19 19:52:00
1381
原创 【转】roc曲线与auc值
https://www.cnblogs.com/gatherstars/p/6084696.htmlROC的全名叫做Receiver Operating Characteristic,其主要分析工具是一个画在二维平面上的曲线——ROC curve。平面的横坐标是false positive rate(FPR),纵坐标是true positive rate(TPR)。对某个分类器而言,我们可以根...
2018-09-13 13:24:00
78
原创 DataFrame-选择与切片
取得DataFrame对象reviews的description列的前10个值(或者说reviews前10行的description列):reviews.iloc[:10].loc[:,'description'] 等价于reviews[:10]['description']kaggles练习(https://www.kaggle.com/morein2008/indexing-selec...
2018-08-20 23:48:00
92
原创 【转】shell的反引号、单引号、双引号的作用
Linux Shell中有三种引号,分别为双引号(" ")、单引号(' ')以及反引号(` `)。其中双引号对字符串中出现的$、''、`和\进行替换;单引号不进行替换,将字符串中所有字符作为普通字符输出,而反引号中字符串作为shell命令执行,并返回执行结果。具体含义如下:双引号(" "):在双引号中,除了$, '', `和\以外所有的字符都解释成字符本身。单引号(' '):在单引号中所有...
2018-08-17 14:55:00
601
原创 shell日期格式化、加减运算
#!/bin/bash echo i love you输出:i love you=======================================反引号的作用=========================v=`echo i love you`echo $v输出:i love you结论:反引号``之内的字符被解析为命令,并返回命令执行完的结果==============...
2018-08-17 14:42:00
125
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人