Native Bayes Classifier

Posted on Sat 22 August 2015 in ML

1.概率

某个试验的样本空间为\(S\)。对应于其中任一事件\(E\)。记\(P(E)\),它满足如下3个公理

公理1: \(0 <= P(E) <= 1\)

公理2: \(P(S) = 1\)

公理3: 对任一列互不相容的事件\(E_1,E_2\), ...(即如果\(i \neq j\)\(E_IE_J\neq\phi\)),有

$$P(\bigcup_{i=1}^{n}E_i) = P(\sum_{i=1}^nE_i)$$

就称\(P(E)\)为事件\(E\)的概率

2 …

Continue reading

STL -- Insert Iterator 简单分析

Posted on Mon 20 July 2015 in STL • Tagged with C/C++, STL, 源码分析

【以下代码都来自 SGI STL -- stl_iterator.h】

工作中STL用的很多, 多次用到insert iterator系列函数,但是一直都没有注意过为什么要这么用。只是知道inserter是'插入',front_inserter是'头插',back_inserter是'尾插'。当然这些叫法只是为我自己记住怎么使用这系列的函数。本着知其然知其所以然,本篇文章将简单的分析下Insert Iterator的实现细节。 现看inserter的这个函数的实现吧:

template <class _Container, class _Iterator>
inline
insert_iterator<_Container> inserter(_Container& __x, _Iterator __i)
{
    typedef typename _Container::iterator __iter;
    return insert_iterator<_Container>(__x, __iter …

Continue reading

从Python的闭包到装饰器

Posted on Sun 05 July 2015 in Python • Tagged with Python, 闭包, 装饰器

函数里面定义函数叫做嵌套函数, 如:

def Print(msg):
  def doPrint():
    print msg
  doPrint()

print dir(Print)
#['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']
print Print.__closure__
# None
Print('Hello …

Continue reading

[译]了解Python的with语句

Posted on Sun 08 March 2015 in Python • Tagged with Python

这篇文章虽然有些时日, 但是觉得这篇博文通俗易懂, 翻译起来也没有太大的压力, 然后就有了篇译文. 初次翻译, 如有错误, 请告知, 谢谢!

从comp.lang.python和其他论坛来看, 有经验的python开发者对python2.5新的with语句(坏链接)似乎依旧有些困惑.

就像python中的其他大部分的特性, 只要你弄懂了with 语句想要解决的问题, 你就会知道with语句其实是很简单的. 看看下面这段代码:

set things up
try:
    do something
finally:
    tear things down

‘初始设置’ 可能是打开一个文件, 或者是获取一些额外的资源, ‘清理阶段’可能是关闭一个文件, 释放或者归还资源. try-finally结构保证 '清理阶段'部分是一定被执行,尽管 主要逻辑部分的代码并没有把要做的工作做完

当有大量这种重复性的工作时, 把'初始设置' 和 '清理阶段'封装成库是很便利, 也易于复用. 你可能会做如下封装:

def controlled_execution …

Continue reading