• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

python-pdb调试

为啥会想起来用 pdb?公司的网实在是太慢了,pycharm 设置远程调试总是要上传某些文件导致无法调试,只能在文件中加入 pdb 调试代码。pdb 是 ptyhon 内置的一个调试库,是调试 python 代码的好帮手,本文是对其用法的详细介绍。QuickStart待调试的代码内容文件名:test.py:# coding:utf-8imp……

python设计模式–职责链模式

小明开了一家店,今天像以前一样出门去采购豆瓣酱,店里生意不好的时候去小摊买个五瓶就够了,要是生意还行的话就要去小店里去买个 5 到 15 瓶,生意特别好的时候就要去超市批发 30 瓶。小明就是一个客户端,出门买豆瓣酱就是一个请求,要是买的豆瓣酱的个数小于五那么就近去小摊就能买到,要是需求是五到十五瓶那么就要去小店里买了,再多的话就要去超市里买了,只有大超市……

python设计模式–代理模式

有的时候访问一个网站比较慢的时候,比如 google 需要通过第三方代理然后才能访问,整个的流程如下图所示:在设计模式中当然也存在代理模式,常见的有以下几个方面当需要为一个对象再不同的地址空间提供局部的代表时此时的代理模式称为远程代理:为一个对象在不同的地址空间提供局部代表。目的:隐藏一个对象存在于不同地址空间的事实;远程机器可能具有更好……

python设计模式–mvc控制模式

python设计模式–mvc控制模式

从自身的了解来看 mvc 模式,这个很久以前写 GUI 的时候用的最多了 model view controller,模型视图控制器,通过这样的方式实现前端视觉与模型分离,视图只要管自己的显示就好了,着重与用户的交互,model 负责后台的数据以及相关的业务逻辑处理,中间的 controller 在模型更改时更新对应的视图,也可以做一些在数据由模型传递给视图……

python设计模式–享元模式

享元模式最核心的地方应该就是“享”,共享一个通用的东西,在你有不同的要求时也可以达到不同的实现。下面举个栗子上面这个例子大家通用的功能就是绘制圆形,但是我们可以绘制不同颜色的圆形,那么这个就可以使用享元模式来优化,其实这个功能太简单了,不需要设计模式也可以来实现。仅以此举例说明下面给出享元模式的术语描述,当然会结合上面的给的例子来描述专业术语的含义……

python设计模式–装饰器模式

感觉这个不像是设计模式,在 python 的语法糖中包含了一种叫装饰器的东西,正好与设计模式的这个玩意名字也是相同的,其实你读了这篇文章也会发现这两个说的也是同一个东西,没什么区别。装饰器如果记得不太清楚的话可以看我这篇文章,相信你应该可以看得懂python 装饰器探究套用之前装饰器的一篇文章中介绍装饰器部分时,装饰器主要解决的是一些公共部分的代码复用的……

python设计模式-适配器模式

适配器模式主要解决的问题保留旧版本的接口的基础上,新开发的接口能够兼容到旧版本的系统上。其实我们重构旧版本的代码也可以实现相应功能的开发,但是这就违背的了开放与封闭原则,因此我们不会轻易去修改旧代码,除非你要重构旧版本的代码,都是通过增量式开发,同时兼容旧版本。设计模式这东西只有在你要优化当前系统的时候才会使用到,不可能一开始全部的系统都是以设计模式的……

scipy稀疏矩阵模块

今天在使用 lightfm 的时候,输入的数据类型可以是稀疏矩阵,一开始尝试先构造列表然后类型转换为系数矩阵,发现运行到中途进程被 kill 掉了,才发现这个 dok_matrix 神奇的类1.sparse 模块初探python 中 scipy 模块中,有一个模块叫 sparse 模块,就是专门为了解决稀疏矩阵而生。本文的大部分内容,其实就是基于 spa……

python设计模式–原型模式

python设计模式–原型模式

套用书里的一个例子,两年前你写了一本书,现在你要在此书 的基础上修订一版,你会在新版本中加入一些最新的元素,但是与之前的书相比你有很多的地方其实是不用修改的,但是你又不想直接把上一版拿过来改,万一改的不好也回不到之前的版本了,所以你想把之前的第一版复制一份出来,然后在副本上再次开发。写到这里顿时想到了 git 版本管理,你在当前的 master 分支上开启……

python-sort函数key解析

sort 之美后来去看了下 sort 的函数说明,包括 cmp, key, reverse 参数究竟怎么去用,又写了几个例子,以为这下子对 sort 可谓是理解透彻了。比如要要根据值的大小输出字典内容,那么就可以像下面这样优雅地解决:>>> d = {1: 'z', 2:'y', 3: 'x'}>>> prin……

python-建造者模式

此前学习了单例模式和工厂模式,准备最近把 16 种设计模式都学习一遍,至于使用起来还有一段距离。建造者顾名思义需要我们去造点什么东西出来,当然需要打造的东西需要一步一步来实现,不可能一步登天,只有当各个部分打造好以后才会组成一个完整的东西。建造者只负责打造东西,究竟打造什么东西还是需要别人来发出造东西的指令,这个指令包含了需要打造的内容,这样就引出了指挥……

matplotlib绘制分组数据

直接看 ipynb 数据吧!……

cpt序列预测

cpt序列预测

序列预测是当前深度学习最火热的应用之一。从搭建推荐系统到语音识别再到自然语言处理,序列预测有着广泛的应用前景。实现序列预测有很多不同的方法,比如利用机器学习中的马尔科夫模型/有向图,深度学习领域中的 RNN/LSTM 等等。在本文我们会用一种叫做紧凑预测树(Compact Prediction Tree,即 CPT)的算法。虽然知道这种算法的人并不多,但它……

pymongo连接主从集群之副本集

现在要把测试服务器的所有数据迁移到线上服务器,线上服务器使用了主从机制,目前来说就两台机器,也许以后会更多现在要把测试服务器的所有数据迁移到线上服务器,线上服务器使用了主从机制,目前来说就两台机器,也许以后会更多现在打算使用 pymongo 连接线上的服务来实现数据的读取,看了下官方的文档,通过运维给的 mongodb url 来连接读写,发现直接报 ……

sourcetree与git学习(2)

在提交一个版本,现在又需要需要新的版本,我们的代码都是在不断的更新的,现在我们开始更新一下文件里面的东西,这样就创建了第二个版本了刚才的修改,sourcetree 已经检测到了,这个就是你修改的第二个版本git 既然是版本管理,那么就可以让你在不同的版本之间来回穿梭,套用廖雪峰教程里面的词汇–时光机,你可以使用时光机在不同的版本之间来……

sourcetree和git学习(1)

最近线上的项目好几个人参与,版本管理就是使用 git 作为版本管理工具,但是这中间多人协作如果操作不当就会出现各种各样的问题,比如谁把我的代码覆盖了,巴拉巴拉之类的。。。以前在 windows 下使用小乌龟软件很好用,但是没有 mac 版本,现在切换使用 sourcetree,官方给的文档也是仅仅有限,自己就顺着摸瓜,学习一下这个软件的使用,说白了自己……

log likelihood相似度python实现

在上一篇文章中介绍了 log likehood 相似度函数,这里在贴上代码,这份代码是参考了 mahout 代码实现,想看 mahout 在这个源码实现的可以去看 Apache 官方源码,也是比较好理解的。话不多说直接上代码,也是比较简单,熵是非归一化的,区别于常规的熵计算 def entropy(*elements): sum = 0……

loglikelihood ratio 相似度理解

摘要:在机器学习中常用到各种距离或者相似度,今天在看美团推荐系统重排序的文章时看到了 loglikelihood ratio 相似度,特总结起来。以后有时间再把常用的相似度或者距离梳理到一篇文章。背景:记录 loglikelihood ratio 相似度概念总结:下表表示了 Event A 和 Event B 之间的相互关系,其中:k11 :……