python
文章平均质量分 69
Reacubeth
imperfect but true
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
对比学习Python实现
对比学习是一种通过对比正反两个例子来学习表征的自监督学习方法。对于自监督对比学习,下一个等式是对比损失:Li,j=−logexp(zi⋅zj/τ)∑k=1,k≠i2Nexp(zi⋅zk/τ) \mathcal{L}_{i,j} = - \log \frac{exp(\textbf{z}_i \cdot \textbf{z}_j / \tau)}{\sum_{k=1,k\neq i}^{2N}exp(\textbf{z}_i \cdot \textbf{z}_k / \tau)}Li,j=−log∑原创 2022-01-13 18:19:12 · 6714 阅读 · 0 评论 -
冯诺依曼图熵(VNGE)Python实现及近似计算
简介冯·诺依曼图熵(VNGE)有助于测量图序列中图之间的信息差异和距离。给定第一个无向图 G=(V,E,A)G=(V, E, A)G=(V,E,A), 其中 AAA 是对称的邻接矩阵。 度矩阵定义为 D=diag(d1,...,dn)D=diag(d_1,...,d_n)D=diag(d1,...,dn),则它的拉普拉斯矩阵为 L=D−AL=D-AL=D−A。其中后者的特征值 λi\lambda_iλi 被称为拉普拉斯谱。 这里,Hvn(G)H_{vn}(G)Hvn(G) 为冯诺依曼图熵(von原创 2021-01-26 13:05:21 · 3089 阅读 · 0 评论 -
神经网络高维互信息计算Python实现(MINE)
论文Belghazi, Mohamed Ishmael, et al. “Mutual information neural estimation.” International Conference on Machine Learning. 2018.利用神经网络的梯度下降法可以实现快速高维连续随机变量之间互信息的估计,上述论文提出了Mutual Information Neural Estimator (MINE)。NN在维度和样本量上都是线性可伸缩的,MI的计算可以通过反向传播进行训练。核心原创 2020-12-18 12:38:01 · 7389 阅读 · 5 评论 -
基于RESTful的FastAPI服务模板
FastAPI 是一个高性能 Web 框架,也是一个Python包,用于构建 API,适合利用极少的代码搭建服务器后端,实现前后端分离。RESTful API 就是REST风格的API。现在终端平台多样,移动、平板、PC等许多媒介向服务端发送请求后,如果不适用RESTful API,需要为每个平台的数据请求定义相应的返回格式,以适应前端显示。但是RESTful API 要求前端以一种预定义的语法格式发送请求,那么服务端就只需要定义一个统一的响应接口,不必像之前那样解析各色各式的请求。常见的API方法原创 2020-08-20 18:29:00 · 3819 阅读 · 0 评论 -
BERT-BiLSTM-CRF命名实体识别应用
引言本文将采用BERT+BiLSTM+CRF模型进行命名实体识别(Named Entity Recognition 简称NER),即实体识别。命名实体识别,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。BERT(Bidirectional Encoder Representation fromTransformers),即双向Transformer的Encoder。模型的创新点在预训练方法上,即用了Masked LM和NextSentence Prediction两种原创 2020-05-18 14:06:16 · 11678 阅读 · 2 评论 -
图神经网络(GNN)TensorFlow实现
图神经网络的研究与图嵌入或网络嵌入密切相关,图嵌入或网络嵌入是数据挖掘和机器学习界日益关注的另一个课题。图嵌入旨在通过保留图的网络拓扑结构和节点内容信息,将图中顶点表示为低维向量,以便使用简单的机器学习算法(例如,支持向量机分类)进行处理。许多图嵌入算法通常是无监督的算法,它们可以大致可以划分为三个类别,即矩阵分解、随机游走和深度学习方法。同时图嵌入的深度学习方法也属于图神经网络,包括基于图自动...原创 2020-05-07 14:38:09 · 9798 阅读 · 13 评论 -
FR算法(Fruchterman-Reingold)Python实现
简介Fruchterman Reingold (FR)FR算法将所有的结点看做是电子,每个结点收到两个力的作用:其他结点的库伦力(斥力)fa(d)=d2kf_{a}(d)=\frac{d^{2}}{k}fa(d)=kd2边对点的胡克力(引力)。fr(d)=−k2df_{r}(d)=\frac{-k^{2}}{d}fr(d)=d−k2该算法遵循两个简单的原则:有边连接的...原创 2020-04-13 17:39:00 · 5168 阅读 · 2 评论 -
Mac下终端pip与pip3配置(软链接)
缘起今日Mac上的Python环境绝对是个asshole。系统自带一个Python2.7我官网下载一个3.6homebrew悄悄下了个3.xanaconda自带了一个3.x前天更新了一下Xcode命令行工具,竟然给我偷偷下了个3.7,顺带把某一软连接变量写入系统盘,安装的包放到数据盘MacOS Catalina文件系统属实拉胯,绝对没有Windows好使。为了使得终端运行pip...原创 2020-02-05 11:10:01 · 5991 阅读 · 0 评论 -
Python爬虫Scrapy入门
Scrapy组成Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。引擎(Scrapy):用来处理整个系统的数据流,触发事务(框架核心)。调度器(Scheduler):用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 它来决定下一个要...原创 2020-02-03 19:05:24 · 792 阅读 · 0 评论 -
简单区块链Python实现
什么是区块链区块链是一种数据结构,也是一个分布式数据库。从技术上来看:区块是一种记录交易的数据结构,反映了一笔交易的资金流向。系统中已经达成的交易的区块连接在一起形成了一条主链,所有参与计算的节点都记录了主链或主链的一部分。组成区块头区块头主要包含的三组元数据分别是:(1)用于连接前面的区块、索引自父区块哈希值的数据;(2)挖矿难度、时间戳、Nonce(随机数,用于工作量证明算法的计数...原创 2019-11-04 16:39:19 · 1875 阅读 · 0 评论 -
Python代码刷博客访问量
寒假闲着无聊自习研究了一下Python爬虫与代理。就发现了一个很简单的刷博客访问量的技巧。首先,我们设置一个代理池,可以用数据库导入也可以简单的用一个数组。代理池可以从http://www.xicidaili.com/选取(如上图)由于两次访问不宜使用同一个IP因此每次随机从代理池中选择一个IP即可。更高级的可以在request时注入不同的Cookie来欺骗服务器。其次利用pyth...原创 2018-02-11 15:45:45 · 1377 阅读 · 1 评论 -
wxpython记录生词GUI程序
不使用数据库,实现一个简单的记生词软件,基本功能包括,添加新的生词及其中文含义,浏览已经记录的单词,随机选择部分单词进行复习。可考虑其它拓展的功能。这里使用wxpython的基本操作,以及类与函数的调用方式。import randomimport wxmydic = {}num = []taged = []class InfoPanel(wx.Frame): def原创 2018-02-03 11:51:43 · 573 阅读 · 0 评论 -
Python授权码生成器(密码生成器)
有时候我们需要为自己的产品设置一些使用权限 ,这就需要随机授权码生成器。当然这是简单的随机生成器,像Adobe这种授权码是需要一定的加密算法生成,然后再验证授权码是否正确,而不是简单的生成。本文主要介绍wxpython中简单控件的使用和随机字符串的生成,包括:①文本框 self.text = wx.TextCtrl(panel, wx.ID_ANY, pos=(0, 50), size=...原创 2018-02-08 18:18:27 · 12340 阅读 · 4 评论 -
Python英文搜索引擎(模糊搜索)
假设在C:\Record下面有若干个.txt文件,均为纯英文文档。以这些文档为内容,实现一个本地搜索引擎,当用户给出某个输入时,列出相关的搜索结果。可以自行决定改搜索引擎的功能强弱,并给出有关的说明文档。(可考虑NLTK)注意本程序能够对无空格输入、错误拼写输入、乱序输入、部分输入进行完整的模式匹配。并以相关性排序 更多python3内容访问omegaxyz.com 说明文档:主要步骤原创 2018-02-03 11:49:15 · 4970 阅读 · 3 评论 -
Python密码存储器
(不使用数据库)设计一个密码记录及查询小软件,模拟记录自己在各个网站上所使用的账号及密码,保存在文件中。要求自行设计存储方式,并实现浏览,查询,增加,删除,修改等基本操作,可自行拓展其他功能。拓展功能:①对软件进行加密,并使用用户指定的秘钥对文件中存储的密码进行加密,如果密码输错,则密码解密出来的是乱码,无法看到正确的密码。本程序利用简单的二进制凯撒密码将字符串通过gbk编码后进行转化。原创 2018-02-03 11:42:08 · 2336 阅读 · 0 评论 -
Python弹球游戏(tkinter模块编写)
python弹球游戏,能够选择难度和分数控制。程序利用tkinter模块编写(说到这里吐槽一下tkinter模块,虽然tkinter是python自带的模块,但是编写手感真没有wxpython好,一个原因是tkinter模块较复杂定义了交互界面还要pack,位置也难调整,更重要的是界面没有wxpython好看) 更多内容访问omegaxyz.com python3代码:from tki原创 2018-02-02 09:15:37 · 2540 阅读 · 1 评论 -
Python文章归档
下面是最新的Python文章目录导航。Python基础面向对象语句函数文件正则表达式Python GUI 程序Python模块Python机器学习Python爬虫与Python相关的内容更新至2018年1月22日Python基础(面向对象、语句、函数、文件、正则表达式)http://www.omegaxyz.com/2017/09/18/javavspython原创 2018-01-25 16:45:43 · 671 阅读 · 0 评论 -
Python利用结巴模块统计《水浒传》词频
中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词。其基本实现原理有三点:基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG) 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法 下面利用结巴分词队水浒传的词频进行了统计 更多内容访问omega原创 2018-01-08 09:16:59 · 5969 阅读 · 0 评论 -
Python字符串加密
①base64 Base64是一种用64个字符来表示任意二进制数据的方法。 用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。import base64s1 = base64.encod原创 2018-01-24 11:40:59 · 3143 阅读 · 0 评论 -
Python在指定文件夹生成随机文件
有时我们需要生成一些写有随机字符串的txt文件进行测试,这里我们采用生成随机字符串的形式来创建并命名文件,然后再在txt文件中生成随机的字符串作为内容写入到文件里面。整个过程很简单,但是可以作为一个模板在以后的应用中使用。当然别忘记要f.close()哦。import randomimport stringfor i in range(50): ran_str = ''.jo原创 2018-01-24 11:37:58 · 2866 阅读 · 0 评论 -
Python模拟电脑按键
按键精灵是一个很好的Windows按键模拟器,下面用python简单地实现所需要的功能。下面提供两种方式,第一种一种是简单模拟。发的是虚拟消息给程序的消息队列,但是有些软件比如360和一些游戏大部分都是直接和硬件通信(为了即时)使用drixt提供的接口,不能点击,使用场景有限。import win32apiimport win32conimport win32guifrom ct原创 2018-01-24 09:59:21 · 10811 阅读 · 4 评论 -
Python GUI程序整理
文章目录GUI程序①Python课程设计Windows系统资源探测器②Python密码存储器③wxpython简单记录生词GUI程序④python微博爬虫GUI程序⑤Python刷访问量GUI程序⑥Python弹球游戏(tkinter模块编写)⑦Python授权码生成器(密码生成器)⑧Python使用wxpython制作简单文本编辑器程序打包成exe文件Pyinstal原创 2018-02-18 09:34:17 · 2863 阅读 · 0 评论 -
基于词典的社交媒体内容的情感分析(Python实现)
之前写了一篇基于NLTK情感预测的文章http://www.omegaxyz.com/2017/12/15/nltk_emotion/?hilite=%27NLTK%27b 更多内容访问omegaxyz.com 情感词典是从微博、新闻、论坛等数据来源的上百万篇情感标注数据当中自动构建的情感极性词典。因为标注包括微博数据,该词典囊括了很多网络用语及非正式简称,对非规范文本也有较高的覆盖率。该情感...原创 2018-03-04 22:49:58 · 6436 阅读 · 1 评论 -
DBSCAN聚类算法Python实现
原理DBSCAN是一种基于密度的聚类算法,这类密度聚类算法一般假定类别可以通过样本分布的紧密程度决定。同一类别的样本,他们之间的紧密相连的,也就是说,在该类别任意样本周围不远处一定有同类别的样本存在。通过将紧密相连的样本划为一类,这样就得到了一个聚类类别。通过将所有各组紧密相连的样本划为各个不同的类别,则我们就得到了最终的所有聚类类别结果。一些概念x1是核心对象,x2由x1密度直达,x...原创 2019-03-30 20:26:54 · 36122 阅读 · 19 评论 -
PyQt5多线程刷新界面防假死
在做GUI界面时我们希望后台任务能够与UI分开,在PyQt中,主线程用来重绘界面。而子线程里边的实时处理结果需要反馈到界面,子线程里边不能执行界面更新操作。wxpython多线程刷新界面转到http://www.omegaxyz.com/2017/10/31/wxpython_thread_sendmessage/下面给出类Python3+PyQt5多线程防假死动态刷新界面的模板from ...原创 2019-03-07 11:22:22 · 22763 阅读 · 21 评论 -
PyTorch入门
PyTorch入门PyTorch 是一个建立在 Torch 库之上的 Python 包,旨在加速深度学习应用。PyTorch 提供一种类似 NumPy 的抽象方法来表征张量(或多维数组),它可以利用 GPU 来加速训练。PyTorch 既可以看做加入了GPU 支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络,除了Facebook 之外,它还已经被Twitter、CMU ...原创 2019-01-14 19:53:22 · 413 阅读 · 0 评论 -
wxpython画表格代码
wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。利用wx.grid命令可以画出类似于Excel一样的表格。grid.SetCellValue用来个表格中的元素赋值。import wximport...原创 2018-12-15 17:33:52 · 2652 阅读 · 0 评论 -
Python利用Graphviz画图
Graphviz的是AT&T Labs Research开发的图形绘制工具软件。Graphviz的是AT&T Labs Research开发的图形绘制工具,他可以很方便的用来绘制结构化的图形网络,支持多种格式输出,生成图片的质量和速度都不错.Graphviz本身是开源的产品,下载可以到 这里,以及他的演示界面 Graphviz在windows上和Linux上都可以顺利运行。使用...原创 2018-11-29 08:50:42 · 15826 阅读 · 0 评论 -
QQ聊天记录多角度分析Python实现
简介有时候我们想看看自己跟另一个人的时长、频率、时间等或者是聊天过程中谁更在乎谁多一点,谁是话痨,聊天性格怎么样,这时就需要一个聊天记录分析的程序。下面的Python代码能够统计聊天记录中的时间、消息次数、文本长度、词频等信息。当然有一些小bug,这将在将来的更新中得到修复。原文:omegaxyz.com使用到的Python模块①jieba:结巴分词,用来处理聊天记录中的文...原创 2018-07-07 14:53:54 · 4953 阅读 · 0 评论 -
百度文库下载器Python实现
简介以前可以用学校的企业账户下载文档,后来百度文库改版,需要买下载券或者会员。因此需要一个百度文库下载器。之前有冰点文库下载器但是后来不好使了。下面给出利用Python写的百度文库下载器。此下载器可以下载doc类型的,txt类型的文本文档及PPT,不过PPT最终将以图片的形式保存。由于百度文库限制,暂时无法突破有试阅读的文档。PDF文档随缘下载。实现思想及步骤①文档链接...原创 2018-07-12 14:46:16 · 4887 阅读 · 2 评论 -
Python使用matplotlib画动态图
机器学习需要使用python实现相应的算法,因此学习了Matplotlib中的画图。 更多内容访问omegaxyz.com当然为了能显示机器学习中每次迭代的效果与收敛速度,需要画出动态图形。下面给出两个例子,分别可以画出动态条形图和动态折线图(使用两种不同的方法)。注意要使用到plt.pause(time)函数。动态条形图 基本原理是将数据放入数组,然后每次往数组里面增加一个数...原创 2018-06-11 14:00:22 · 68038 阅读 · 27 评论 -
混淆矩阵简介与Python实现
什么是混淆矩阵 混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)如下图: 其中绿色部分是预测正确的,红色是预测错误的。对于二分类(正误)问题来说:参考:http://www.omegaxyz....原创 2018-05-25 20:45:57 · 14326 阅读 · 0 评论 -
Python3 OpenCV
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言...原创 2018-08-19 17:42:16 · 981 阅读 · 0 评论 -
Python单下划线与双下划线
foo:一种约定,Python内部的名字,用来区别其他用户自定义的命名,以防冲突._foo:一种约定,用来指定变量私有.程序员用来指定私有变量的一种方式.__foo:这个有真正的意义:解析器用_classname__foo来代替这个名字,以区别和其他类相同的命名.首先是单下划线开头,这个被常用于模块中,在一个模块中以单下划线开头的变量和函数被默认当作内部函数,如果使用 from a_m...原创 2018-03-28 18:42:41 · 513 阅读 · 0 评论 -
Python统计磁盘代码文件行数
听说简历要求10万行代码经验。于是写了个Python脚本用来计算电脑磁盘内代码的行数。主要功能:①统计指定代码的总行数 ②统计每个代码单独的行数 ③自定义设置存储路径设计思路:将文件转化为txt文档,对txt文档统计行数。非GUI代码:import shutilimport ospath = "C:\\Users\\dell\\Desktop\\archive...原创 2018-04-02 21:33:53 · 374 阅读 · 0 评论 -
wxpython控件自适应窗口大小
问题:wxpython作的窗口,点击窗口最大化,就会出问题,1、窗口控件并不一起最大化。2、最大化后有些控件找不着了,再恢复窗口,那些消失的控件一样找不到。wxPython 中最复杂的 sizer. 它带来了对部件的显式定位. 部件项目还可以跨越行或列. 专题教程:wxpython中文教程wx.GridBagSizer 的构造器是十分简单的。 wx.GridBagSizer (i...原创 2018-04-02 21:29:27 · 11257 阅读 · 1 评论 -
英文字母信息熵与冗余度计算Python实现
26个英文字母在平均出现时的信息熵是4.7BIT,而去掉冗余度后的英文字母的信息熵是4.03BIT。公式: H(信息熵) = -∑ Pi log2(Pi); Pi:为每个字母在信息中出现的概率; 计算公式并不复杂. 取以2为底的对数的道理也很简单,因为如果: 2n = X 的话,那么logX = n; 所以可以看出所谓信息熵就二进制的字符集在去掉冗余度后的二进制编码位数.冗余度是通过统计每个字符出...原创 2018-05-10 21:04:37 · 7434 阅读 · 1 评论 -
Python 编写规范
用IDE写Python编写时有时会有标记,但是程序能正常运行,这里的标记是python编写不规范,下面给出一些规范写法。一行列数 : PEP 8 规定为 79 列,这个太苛刻了,如果要拼接url一般都会超。 一个函数 : 不要超过 30 行代码, 即可显示在一个屏幕类,可以不使用垂直游标即可看到整个函数。 一个类 : 不要超过 200 行代码,不要有超过 10 个方法。 一个模块 : 不要超过原创 2017-09-03 21:41:38 · 449 阅读 · 0 评论 -
Python使用wxpython制作简单文本编辑器
下面的python代码实现了一个简单的文本编辑器,可以实现编辑加载和保存操作。真个界面是实用wxpython来构建的。wxpython是一个GUI图形界面的库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。另外这个文本编辑器还有些不足,包括利用os.exists()来新建文件,但是对已创建的文件效果是可以的。我将在下一代文本编辑器增加各种功能。这个文本编辑器没有什么实用价值,仅原创 2017-09-18 23:33:03 · 4605 阅读 · 0 评论 -
胶水语言概述(以Python为例)
什么是胶水语言?胶水语言(是用来连接软件组件的程序设计语言,通常是指脚本语言。 胶水语言(glue language)是用来连接软件组件的程序设计语言(通常是脚本语言)。 胶水语言的例子: Shell scripts Python Ruby Lua Tcl Perl PHP 参见: Category:脚本语言 Glue language (uses OS commands, interfac原创 2017-10-07 17:45:56 · 12794 阅读 · 0 评论
分享