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的概率。
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的概率。