Maxent

Maxent(最大熵工具)
2008-05-19 18:07

Maxent最大熵工具是由中科院软件所张乐博士开发的。该工具提供了python接口,使用起来非常方便。 详细文档可以参考maxent主页中的manual,这里只是简单的作一个介绍。

作者主页:Zhang Le
安装工具

假设下载的压缩包为maxent-20061005.tar.bz2

    解压缩

$ tar jxvf maxent-20061005.tar.bz2

    执行configure

$ cd maxent-20061005
$ ./configure

    如果这里出错,会提示哪里有错,如果没有错误,就可以make了

$ make

    make install, 需要root权限

$ make install

    单元测试,此步可以不做

$ make unittest

    测试软件是否被完全安装, 此步可以不做

$ cd test
$ python runall.py

    安装Python接口

$ cd python
$ python setup.py build
$ python setup.py install

    如果没有问题,则可以进行测试

$ python test_pyext.py

    如果一切正常就可以开始使用了
    需要注意的是,我在ubuntu 7.10上没有安装成功,在ubuntu 6.10上也没安装成功,编译器版本都是GCC4.1.2,还未找到原因。在Red Hat的Fedora Core 8上安装成功了。

Python接口使用

1. importmaxent模块

from maxent import MaxentModel

2. 建立工具对象

maxent = MaxentModel()

3. 声明开始添加实例

maxent.begin_add_event()

4. 添加实例

maxent.add_event(item,'yes',1)

其中item是一个list,list的内容是特征。如item = [‘yes’,’no’,’yes’],第二个参数是结果,第三个参数表示这样的实例有几个,一般为1

5. 声明实例添加完毕

maxent.end_add_event()

6. 开始训练

maxent.train()

7. 保存模型

maxent.save('mresult')

8. 载入模型

Maxent.load(‘mresult’)

9. 使用模型

result = maxent.eval(item,'yes')

这里的result是一个0-1之间的小数,表示在特征item下,被模型判定为yes的概率。

你可能感兴趣的:(xen)