- 博客(38)
- 资源 (15)
- 收藏
- 关注
原创 设计模式MIxin 特殊的多继承
一、意图给类增加一些额外功能。在保持单一继承的纯净性,又避免由于单一继承产生的复杂的继承层次结构。类似于JAVA中的Interface(规格继承:只是定义了一些列接口),但是Mixin(属于实现继承)能够有实现方法。二、图解 对于多继承,如上会存在这样问题: 如果类D对象调用一个方法,在类B、C、D中都没有,而类A中有,那么语言的机制是应该从DBA这条线寻找方法,还是从DCA这条线; 如果类B
2017-03-28 23:08:32 1881
转载 numpy的random随机值模块详解
来源于rand(d0, d1, ..., dn)随机值>>> np.random.rand(3,2)array([[ 0.14022471, 0.96360618], #random [ 0.37601032, 0.25528411], #random [ 0.49313049, 0.94909878]])
2017-03-28 22:20:28 2601
原创 Titanic 多模型版 详解数据分析部分 机器学习初学者实战
来源于 图片见原英文 附带其他分析: 1、使用XGboost算法,没有分析特征,但是能够很快理解数据分析预测的整个流程,便于接下来看其他复杂notebook 2、features分析很是详细且容易理解 3、使用heatmap图分析各个特征的相关性,使用stacking多层模型算法 4、如果想了解Pairplot图的含义,这里有分析。哪些feature更容易区分预测,哪些feature间存
2017-03-28 17:09:57 2453
原创 Python Numpy data-type dtype 自定义数据类型
一、实例BIG-ENDIAN和LITTLE_ENDIAN区别 数据类型定义:>>> dt = np.dtype('>i4') 定义一个big-endian int 4*8=32位的数据类型>>> dtdtype('>i4')>>> dt.byteorder //字节顺序:>为big-edian &l...
2017-03-25 11:00:43 50109 3
原创 SQL is NULL 和 = NULL区别
最近发现在使用 = NULL是有些数据会查询不到。这种写法是错误的。SQL实际使用 is NULL 和 is not NULL判断字段为空,注意为空不代表为”(空字符串)或为0。而NULL = NULL和NULL <> NULL其实返回的都是 FALSE,任何值和NULL做运算的结果都是false。 如果一定要用= NULL,则需要加上set ANSI_NULLS off使得SQL将不再遵循SQ
2017-03-24 10:01:25 12421
原创 设计模式图示 速记速查
创建型工厂模式: 抽象工厂: 单例模式: 建造者: 原型模式: 结构型适配器: 桥接模式: 组合模式: 装饰模式: 外观模式: 享元模式: 代理模式: 行为型职责链: 命令模式: 解释器: 迭代器: 中介者: 备忘录: 观察者: 状态模式: 策略模式: 模板方法: 访问者:
2017-03-22 20:59:04 769
原创 更改window账户的用户文件夹导致excel打开csv提示内存不足、word提示环境变量出错解决办法
更改方法 根据以上类似方法,导致我的excel无法打开csv文件提示内存不足,word打开文件有时会出现环境变量错误。 一开始检查的教程中的注册表信息是否修改完全,发现没问题; 然后查看电脑环境变量的路径是否有问题,也发现没问题; 后来百度到有个人出现类似问题,但是切换到管理员账户就不会出现问题,测试确实在管理员账户下可以无问题使用office,遂卸载office重新安装,问题依旧; 最后
2017-03-22 20:04:32 2065 1
原创 Titanic Xgboost版代码分析
代码来源 关于xbgboost的调参可参考这篇文章 或官网 流程如下: 1. 读取测试集,训练集 2. 根据相关性手动选取特征 3. 选取测试集 4. 填充缺失值 5. 处理非数字型数据 6. 训练算法 7. 存储数据# 引入import pandas as pdimport xgboost as xgbfrom sklearn.preprocessing i
2017-03-21 19:27:32 2115 2
原创 Python 列表推导式 if else for in join with as *和**使用 zip(*) is和== bisect
c = a if a&amp;amp;amp;amp;amp;amp;gt;b else b //如果a&amp;amp;amp;amp;amp;amp;gt;b返回a,否则返回b&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt; a = 1&amp;amp;amp;amp;amp;a
2017-03-21 14:32:49 12015
原创 Python pandas数据分析中常用方法
官方教程读取写入文件官方IO 读取 写入 read_csv to_csv read_excel to_excel read_hdf to_hdf read_sql to_sql read_json to_json read_msgpack (experimenta...
2017-03-20 23:33:48 106374 1
转载 Python模块常用的几种安装方式 windows下xgboost安装 whl文件安装
来自于博客 可下载编译好的python库 Python模块安装方法一、方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib二、方法2: 多文件模块,带setup.py下载模块包,进行解压,进入模块文件夹,执行: python setup.py install三、 方法3:easy_install 方式先下载ez_setup.py,运行python ez_setup 进行easy
2017-03-20 15:21:52 1130
原创 WIndow的Anaconda下安装Xgboost
基于Python 3+ anaconda集成了很多关于python科学计算的第三方库一、下载文件使用该链接下载whl文件,注意对于版本二、使用PIP安装pip install xgboost‑0.6‑cp36‑cp36m‑win_amd64.whl(文件名)三、其他方法自己编译安装方法 python 2/3都行,如果Python2.7版编译的Xgboost下载不下来,可以通过下面链接 X
2017-03-20 15:11:56 569
原创 Python pandas快速入门
来自官网十分钟教学 Pandas的主要数据结构: Dimensions Name Description 1 Series 1D labeled homogeneously-typed array 2 DataFrame General 2D labeled, size-mutable tabular structure with potentially hete
2017-03-14 17:17:52 23774
原创 Python Numpy数据分析中常用方法
一、多维的表示Numpy用列表表示多维矩阵: 第一维,维数大小为4: % = [ &amp;amp;amp;amp;amp;amp;amp; &amp;amp;amp;amp;amp;amp;amp; &amp;amp;amp;amp;amp;amp;amp; &amp;amp;amp;amp;amp;amp;amp;] //&amp;amp;amp;amp;amp;amp;amp;为标量,%表示一个维数大小
2017-03-14 11:30:48 4267
原创 Python xlwd 读取excel xlwt 写入excel xlutils 修改excel
一、读取excel# coding:utf-8import xlrdclass KenExcelRead: # Manage Excel Read def __init__(self,fileReadName): self.fileReadName = fileReadName self.open() def __isset(self,varNam
2017-03-13 13:27:02 2545
原创 Python 类型判断 变量存在判断 None与空字符串 is和==区别 nan inf判断
一、类型变量type#判断是否为整数type(varObj) is types.IntType StringType FloatType DictType TupleType ListType BooleanTypeisinstanceisinstance(aaa,str)type与isinstance区别class A: passclass B(A):
2017-03-12 21:06:12 28320
原创 Ubuntu 安装Docker 常用命令
一、安装Docker需要64的操作系统,kernel内核至少在3.10版本之上。 检测当前的kernel版本:uname -r安装Docker命令:wget -qO- https://get.docker.com/ | shdocker -v# ===&amp;amp;amp;amp;gt; Docker version 1.12.6, build 78d1802二、安装开启进程:sudo service docker start
2017-03-11 16:55:06 956
原创 分段 分页 虚拟内存空间 逻辑地址 物理地址
一、虚拟内存空间虚拟内存空间是系统的一种技术,当程序被载入内存时,运用虚拟内存空间技术让程序误认为自己目前独占电脑内存,能够占用电脑所有的内存,访问所有内存地址。 以32位操作系统为例: 32位系统程序的指针为32位(4字节),2^32 = 4GB,也就是说指针可以取值的方法有2^32种,可以访问2^32地址。这也就为什么有种说法:32位系统支持装最高4g内存。当程序载入内存后,系统为程序赋予4
2017-03-11 10:50:37 8275 2
原创 行为型模式之访问者VISITOR
一、意图改变类结构形式,可在不改变各元素类的前提下定义新的操作。二、图解 上图node层次将各个操作分布到节点类中导致系统难以理解和维护,比如TypeCheck()和PrettyPrint()不同用途放置一起,产生混乱。重要的是如果增加新操作,就要重新编译所有的这些类。VISITOR模式将每个类中相关操作包装成一个独立对象。如下图 访问当前节点时,我们可以将VISITOR对象传递给当前节点,
2017-03-10 12:47:05 243
原创 行为型模式之模板方法TEMPLATE METHOD
一、意图在模板类中定义算法骨架,而将一些具体步骤延迟到子类中。二、图解 如上图,Application模板类在OpenDocument定义了打开一个文档的基本步骤:检测文档是否能被打开CanOpenDocument—-创建文档DoCreateDocument—-读取文档DoRead。对于读取任何格式的文档,这种基本的逻辑步骤都是一样的,但是我们看到CanOpenDocument,DoCreateD
2017-03-10 11:13:04 302
原创 行为型模式之状态STATE
一、意图在一个对象的状态改变时,改变其行为。二、图解 TCPConnect维护一个TCP当前状态对象,如果TCP状态改变,Connect对象就改变当前使用的状态对象。三、结构
2017-03-09 23:04:16 255
原创 行为型模式之观察者OBSERVER
一、意图当一个对象的状态发生改变时,所以依赖它的对象都会得到通知并被自动更新。二、图解在excel中,当数据变化时,与数据对应的表格和图形都会随之变化。这就需要数据在变化时自行通知其的依赖类,随之改变。 如图Subject对象维持一个依赖它的观察对象表,当Subject内容发生变化,需要通知观察者时就会调用观察者对象的update函数。为了降低耦合,subject只知道其有一些列的观察者,但不
2017-03-09 21:28:30 254
原创 PHP CURL 在WHILE FOR 循环体中只执行一次
被这问题坑的不行。最后通过在使用变量前unset解决。使用curl multi似乎也能解决该问题,未测试。unset($url);unset($todata);$url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$access_token";$todata = '{ "touser": "'.$ord
2017-03-09 18:29:38 2570
原创 行为型模式之备忘录MEMENTO
一、意图在不破坏封装性情况下,在对象之外保存该对象的内部状态,实现可撤销回原来状态。二、图解为实现撤销机制,我们需要先保存对象的内部状态,当需要撤销时,恢复成过去的状态。但是由于有些对象的某些状态是私有的,不可向外暴露,使得其状态不能被其他对象访问。因此我们需要对象内部自己生成备忘录,但存储在外部。 如上,原发器Originator是需要保存状态的对象,Memento是保存Originator
2017-03-09 13:08:12 255
原创 行为型模式之中介者MEDIATOR
一、意图用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。二、图解当我们打开一个交互窗口,选择列表中某一项时,改变对于输入域的内容。反之在输入域修改内容可能会修改某些按钮使用功能。如果我们只是简单当某个组件修改时就去调用另一个组件,那么每个组件必须知道其他组件的存在。这样组件间就会产生依赖许多关系,对任何部分的修改都会影响全
2017-03-08 09:56:06 239
原创 ThinkPHP html模板中截取字符串 中文字符串
{$ma.title|mb_substr=0,5,'utf-8'}{$a['a']['b']|substr=0,2} //显示前面,两个字符{$a['a']['b']|substr=0,-2}//删除后面,两个字符{$ma.title|msubstr=0,5,'utf-8'}
2017-03-08 09:39:49 5936
原创 行为型模式之迭代器INTERATOR
一、意图提供一种方法顺序访问一个聚合对象中各个元素 , 而又不需暴露该对象的内部表示。二、图解C++的STL常用类实现机制。将类列表迭代部分从类中分离出来放入一个迭代器。 但上图List和ListIteraotr耦合在一起。可将迭代器概念推广至多态迭代。 为了让迭代器无需依赖具体列表子类,可以让列表对象类实例化迭代器。迭代器对复杂聚合可以使用多种方式进行遍历。且简化了聚合的接口。同一个聚
2017-03-07 21:55:19 272
原创 行为型模式之解释器INTERORETER
一、意图定义一种规则,然后用解释器来解释该规则。二、图解正则表达式为例,正则表达式存在一种规则,在搜索匹配字符串时,根据这种规则解析,搜索符合要求的子字符串。 约定一下规则: 建立解释器: 正则表达式实例: 解释器解释该实例形成的语法树: 最高效的解释器通常不是通过直接解释语法分析树实现的 , 而是首先将它们转换成另一种形式。例如,正则表达式通常被转换成状态机。但即使在这种
2017-03-07 21:21:40 323
原创 行为型模式之命令COMMAND
一、意图将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。二、图解 COMMAND模式的意图很是费解,以上图为例,个人理解为,本来我们可以直接在菜单项MenuItem的点击方法中直接调用我们请求对象,但是如果我们不知道被请求的操作或请求接受者的任何信息(这部分不是你设计的),那么我们就不能显示实现该请求。而COMMAND模式将请求变为
2017-03-05 09:59:18 405
原创 行为型模式之职责链CHAIN OF RESPONSIBILITY
一、意图将处理请求的对象连成一条链,逐步传递该请求,直到有对象能够处理。二、图解 可以看到当子类Button不能处理对象时就调用父类Widget方法,沿链转发请求直到最后有对象能够处理它。应该根据从详细的,然后到普遍通用来组织传递过程。 三、结构四、其他职责链降低了耦合度,请求对象无需知道处理该请求的是哪一个对象。请求可能到链末端都得不到处理
2017-03-04 11:08:01 285
原创 结构型模式之代理PROXY
一、意图为其他对象提供一种代理以控制对这个对象的访问。二、图解如果需要的对象的创建和初始化都需要非常大开销,那么一般我们就得在需要这个对象的时候才创建它。 如上图,ImageProxy用于代理Image类,当需要实例化时才实例化。如果我们需要保护某个对象,控制对原始对象的访问时候,也可以使用代理模式。而且我们可以对实际对象引用计数,当不需要是就释放对象;在访问实际对象时检查是否已经锁定。cop
2017-03-04 09:43:08 227
原创 结构型模式之享元FLYWEIGHT
一、意图运用共享技术有效地支持大量细粒度的对象二、图解 对于一个文档编辑器,如果我们对每个文字都建立个对象将会消耗大量的内存。由于英文字母只有26个,如果我们只建立26个对象,而文档编辑器内的文字都都是共享的这些对象。如下图: 但是Flyweight对象应该只存自己的内部状态,如:字母只存储字符代码,而不存储它的大小,字体等外部状态。外部信息由用户提供,Flyweight自己根据信息绘画自己
2017-03-03 09:44:52 478
原创 结构型模式之外观FACADE
一、意图为子系统提供一个统一的界面。二、图解 三、结构四、其他使用抽象类实现Facade,而其具体子类对应不同的子系统实现,进一步降低客户与子系统间耦合度
2017-03-03 09:14:47 267
原创 结构型模式之装饰DECORATOR
推荐先看《敏捷开发:原则、模式与实例》了解基本开发原则一、意图动态给对象添加一些额外职责。二、图解有时我们希望给某个对象添加一些功能,但是又不想破坏原有类的结构,如果采用继承方式就无法控制添加的时机和多样式。装饰模式采取动态添加的方式解决该问题。 如上图如果我们想给TextView对象添加滑动框,我们就可以将TextView对象传递到ScrollDecorator对象中去,使用ScrollDe
2017-03-02 12:58:36 288
原创 结构型模式之组合COMPOSITE
推荐先看《敏捷开发:原则、模式与实例》了解基本开发原则一、意图将对象组合成树形结构以表示部分-整体层次结构,使得 单个组件与组合组件具有一致性。二、图解 上图可知Line,Rectangle,Text属于基本组件,而Picture可以对这些组件进行组合,需要什么往容器添加什么组件。一致性表现在继承自Graphic,都具有Draw()方法,但是Picture类确实通过调用其他组件的Draw()实现的
2017-03-02 10:12:31 256
原创 结构型模式之桥接BRIDGE
推荐先看《敏捷开发:原则、模式与实例》了解基本开发原则一、意图将抽象部分同其实现部分分离开来,使其可以独立变化。二、图解 上图为了实现多平台应用,使用继承分别定义了X平台和PM平台的两个window子类。当我们添加一个IconWindow子类用于处理图标时,为了支持X和PM平台,我们又不得不实现两个新类XIconWindow和PMIconWindow,而且二者所用代码可能与原来Xwindow和PM
2017-03-01 10:41:10 356
视频、图像原理 设配选择
2018-04-12
基于图像处理和K近邻的车牌号识别 opencv python
2018-01-16
stsw-link009 for window10.zip
2016-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人