准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure

机器学习(ML), 自然语言处理(NLP), 信息检索(IR)等领域, 评估(Evaluation)是一个必要的工作, 而其评价指标往往有如下几点: 准确率(Accuracy), 精确率(Precision), 召回率(Recall) 和 F1-Measure.(注:相对来说,IR 的 ground truth 很多时候是一个 Ordered List, 而不是一个 Bool 类型的 Unordered Collection,在都找到的情况下,排在第三名还是第四名损失并不是很大,而排在第一名和第一百名,虽然都是“找到了”,但是意义是不一样的,因此更多可能适用于 MAP 之类评估指标.)

本文将简单介绍其中几个概念. 中文中这几个评价指标翻译各有不同, 所以一般情况下推荐使用英文.

题外话, 特意问过几个外行的语言老师, accuracy 和 precision 有啥区别啊? 结果被老师盯着看, "你是在耍我么? 考我么? 这什么鬼问题?" 所以还请不要纠结, 我们就原文就好.

现在我先假定一个具体场景作为例子. (more…)

Aaron Swartz

再见,Aaron Swartz

北京时间 1 月 12 日消息,Reddit 联合创始人、RSS 规格合作创造者、web.py 创始人、著名计算机黑客 Aaron Swartz 于纽约当地时间 1 月 11 日自杀身亡,享年26岁。Aaron Swartz 的叔叔已经向《The Tech》证实了这一消息。

(more…)

ParsCit: An open-source CRF reference string parsing package

当今世界,文献资料的数量几乎是以指数级别的增长,而文献的传播过程中,往往并非仅仅通过电子版的数据传输. 由于各种条件限制,文献数据有时候甚至是Word->PDF->纸质打印资料->扫描进文件->再次整理资料这样螺旋式的传播. 而在再次整理资料的时候,往往不免要遇到这样或者那样的奇怪的数据,比如1变成了i,有些数据彻底错位等等. ParsCit ,一个开源的package,正是试图通过CRF的分析方法,将文献后的reference再次整理为有序的数据. (more…)

Linux lvm 的 /home 扩展记录

最近心头一直有一座大山压在身上,亲爱的 Fedora 空间不够了,动不动就是只剩下 1~2G 可用空间。

更糟糕的是,我使用的是 Linux 和 Windows 共享一台笔记本。Windows 虽然略有富余空间,却很难被 Linux 安全读写。

而手头又一直没有可以调整 Windows 那尊敬的 NTFS 分区的软件 -- 没错,Linux 可以把 Windows 的将近 400G 的巨大分区格式化掉 -- 但数据?手头又没有可靠的移动硬盘可以帮我临时存储下数据。

幸而最近二学长提供的 DiskGenius 特别给力地在 Windows 那边把那大分区给缩了 30G 的空闲硬盘。并且保证我硬盘即便搞崩了,他依然能把数据抢救出来,我毅然决然踏上了裸奔调整分区路 -- 万一真崩了,也只能祈求上天给他神力,帮我抢救回数据了。

(more…)

php 的路径问题

假如有web目录如下:

index.html
class/ajax.js
class/a.php
class/b.php
img/img.jpg

index使用了class中的ajax.js调用class/a.php

那么,如果a.php需要用require_once调用b.php,应该怎么写呢? (more…)

关于const的两个tip

1. 在输入一个字符串的时候,一般请加上const 修饰

比如 :

int strlen(const char * str);

其中,str字符串在本函数中是不需要进行修改的,所以可以用const修饰 这样,我们引用strlen函数的时候可以这样写:

strlen("abc");

如果没有const,一个warning就会来了 (more…)

error while loading shared libraries的解决方法

错误提示:

./prog: error while loading shared libraries: xxx.so.0:
cannot open shared object file: No such file or directory

这个提示的意思是没有找到xxx.so.0这个文件,那么首先应该确定下,本机是否存在这个.so文件?如果存在,那么我们可以作出判断,xxx.so.0这个动态链接库所在的文件夹不在搜寻范围内. (more…)

openshift 的重启

openshift 是一个很不错的空间,可惜有时候经不起折腾,application 可能会被搞 down 掉

我的环境是 fedora 17, 不过操作应该差不多,windows 可以用 putty 之类替代 linux 的 ssh (more…)

三门问题模拟

问题描述: 三门问题也就是“蒙提霍尔问题”,表述如下: 现在有三扇门,两扇门后是山羊,一扇门后是汽车. 参赛者并不知道内里有什么。 参赛者需要在三扇门中挑选一扇,期望是门后有汽车。 主持人知道每扇门后面有什么。 主持人必须开启剩下的其中一扇门,并且必须提供换门的机会。 主持人永远都会挑一扇有山羊的门。 如果参赛者挑了一扇有山羊的门,主持人必须挑另一扇有山羊的门。 如果参赛者挑了一扇有汽车的门,主持人随机在另外两扇门中挑一扇有山羊的门。 参赛者会被问是否保持他的原来选择,还是转而选择剩下的那一道门。 转换选择可以增加参赛者的机会吗? (more…)

C语言写宏注意事项,一次debug的教训

现在有代码如下.

宏定义设置好:

#define ERROR_RET(x) error_code=x;return false;

然后期望在以后某处调用如下:

void fun()
{
    if(sth) ERROR_RET(eno);
    ....
}

编译护结果始终不理想.逻辑和想的不一样啊...查了别的代码好久,一直以为其它地方数据处理有问题. (more…)