R DataFrame 排序和筛选

数据

ID Type Term Length Freq Cover Fisher
1 p nn 1 50127 1546 1.000000e+00
2 l the 1 19479 1537 1.279193e-02
……
475290 t the musics 2 1 1 1.0000000

特征文件 vocab 中包含基于词形、词元和词性的 n 元序列及其长度、频率、覆盖率和费舍尔精确检验的 p 值。为了提升后续算法的准确率,需要降低特征维度,筛选特征。方法如下:

R DataFrame 排序和筛选

1
2
3
4
5
6
7
8
# read in feature file
feature <- read.delim("vocab")

# reduce the number of features
refined.feature <- feature[which(feature$Freq > 10 & feature$Cover > 2 & feature$Fisher < 0.05),]

# rank features
refined.feature.order <- feature[order(freature$Fisher),]

实际应用中需要使用 R 的筛选功能调试各特征的组合,验证模型的准确率。