决策树学习笔记

为什么需要数据挖掘

通过观察概率表来发现数据之间的规律 但是当数据的规模大了,属性多了,决定规律的属性多了,我们就有会得到很多概率表,发现数据之间的概率的困难程度大大地增高了。

决定一个模式是不是有用的,我们用信息熵来度量

决策树先去判断哪个模式,就要看哪个模式的信息熵高,然后再找第二个模式,这样递归找下去,直到剩下的分类完全一样,那个属性就是决策树的一个终止节点。

more ...

不平衡学习

不平衡学习

定义

顾名思义即我们的数据集样本类别极不均衡,以二分类问题为例,假设我们的数据集是$S$,数据集中的多数类为$S_maj$,少数类为$S_min$,通常情况下把多数类样本的比例为$100:1$,$1000:1$,甚至是$10000:1$这种情况下为不平衡数据,不平衡数据的学习即需要在如此分布不均匀的数据集中学习到有用的信息 ...

more ...

Python Thread

今天看到这篇文章,关于多线程编程的,感觉这篇文章讲得挺好的。文章在这里

这篇文章一开始讲了一个生产者消费者的多线程的模型,生产者往队列里添加任务,消费者从队列里取出任务去执行。多线程就相当于多个消费者同时从这个队列里取出任务去完成。

这篇文章讲到了用线程池

from multiprocessing import Pool
pool = Pool()
pool.map(urllib2.urlopen, urls ...
more ...

Python Logging模块

logger的Level

logger.setLevel()

设置logger的level,level有以下几个级别 NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL 如果把looger的级别设置为INFO, 那么小于INFO级别的日志都不输出, 大于等于INFO级别的日志都输出

logger的处理器

logger.addHandler()

logger可以雇佣handler来帮它处理日志, handler主要有以下几种:

  • StreamHandler ...
more ...

OpenCV图片处理

opencv读取图片

import cv2
img = cv2.imread('/path/to/image')
img.shape()

out:(heigh,width,color)

opencv截取图片

图片存储的第一维是图片的高度,第二维是图片的宽度,第三维是图片的颜色维度。所以我们去寻址的时候先对行寻址 ...

more ...

《思考的艺术》

这段时间读了《思考的艺术》这本书,我读这本书的时候感觉不能认真的读下去,不知道是这本书讲得太罗嗦了,还是我定不下心来看这本书。 我觉得这本书并没有封面上所说的这么完美:“批判性思维领域的‘圣经’!权威大师之作”。也许很多外国翻译过来的书讲得都是那么详细吧,反正他就是建议做他的那些课后习题,我是看了一点,然后觉得没什么兴趣看下去,所以我基本上就是遇到课后习题就跳过了。看书的内容的话,我也是看到感兴趣的小标题我才会认真的看看内容,否则就是大概的浏览一下标题,所以这本书看的时间也不是很长。

但是这本书提到了一些做法 ...

more ...

Face Landmark Lib

最近在刷微博的时候发现了一个人脸特征点检测的库——CLM Framework,之前用过Dlib做人脸特征点检测,觉得准确率还是相当可观的。现在找到CLM Framework这个库,感觉准确率应该也不错,它还提供认的头部朝向,感觉应用它的地方会更广。

CLM Framework

function: face landmark and head pose estimation

C ...

more ...

Mac配置Caffe

今天跟着caffe项目的官网向导去安装caffe,前面安装依赖库的时候多次出现下载失败的情况,但是最后在早上再次安装依赖库,貌似每一句都安装成功了。可是到了编译的时候,显示着找不到blas相关字眼的错误信息。 于是我就通过brew这个包管理器去安装blas。

brew install blas

brew提示错误信息说找不到blas,但提供了相关的包

pro:~ honkee$ brew install blas
Error: No available ...
more ...

VS插件-GetSet生成器

Java,C#都有GetSet生成器的方法,而C++却没有这样的工具,即使是现在是有插件做到相应的功能,但是 这个要查一下!!!!!! 现有的插件做得不够方便,所以我们就做了这个插件。 现在来讲讲这个插件的具体思路。

从选择文本中选择变量生成其GetSet方法

文本分割

先将选中的文本分行,我们可以以‘\r\n’来分割。然后对每行进行分割。 我们一般定义变量都是每一行定义一个变量 ...

more ...

参加微软黑客马拉松经历

这次参加黑客马拉松,队伍一共三人,一个是微软俱乐部部长,另一个是一个女生。 我来总结下我的工作吧。

我们的作品是一个VS的插件,主要功能是为C++生成Get,Set方法。 VS插件有两种,一个是AddIn,另一个是VSPackage。我使用的是前者,前者是一种旧的技术,微软推荐VS2008以后开发VS插件都使用VS SDK开发VSPackage,由于我看过C++做AddIn的,对AddIn有了一定的了解,所以我最后决定用C ...

more ...