add fprob_calc.sh
This commit is contained in:
parent
dc67745175
commit
c90ec1a935
15
exp/bidx_random.sh
Executable file
15
exp/bidx_random.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# generate random block indices
|
||||||
|
|
||||||
|
row=$1
|
||||||
|
col=$2
|
||||||
|
max=$3
|
||||||
|
|
||||||
|
for ((y = 0; y < row; ++y)); do
|
||||||
|
n=$((RANDOM%col + 1))
|
||||||
|
for ((x = 0; x < n; ++x)); do
|
||||||
|
printf "$((RANDOM%max)) "
|
||||||
|
done
|
||||||
|
printf "\n"
|
||||||
|
done
|
55
exp/fprob_calc.sh
Executable file
55
exp/fprob_calc.sh
Executable file
@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# calculate fprob from indices and fprob matrix
|
||||||
|
# output: average feature's feature probability and average non-feature's feature probability
|
||||||
|
|
||||||
|
bidx=$1
|
||||||
|
fprob=$2
|
||||||
|
n=$3
|
||||||
|
|
||||||
|
script=$(cat - <<EOS
|
||||||
|
BEGIN {
|
||||||
|
type = 0; # 0: bidx, 1: fprob
|
||||||
|
|
||||||
|
nprob = 0;
|
||||||
|
nprob_max = 0;
|
||||||
|
pprob = 0;
|
||||||
|
pprob_max = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
if (type == 0) {
|
||||||
|
split("", feats);
|
||||||
|
|
||||||
|
for (i = 1; i <= NF; ++i) {
|
||||||
|
feats[i] = \$i;
|
||||||
|
}
|
||||||
|
|
||||||
|
type = 1;
|
||||||
|
} else if (type == 1) {
|
||||||
|
sum = 0;
|
||||||
|
for (i = 1; i <= NF; ++i) {
|
||||||
|
sum += \$i;
|
||||||
|
}
|
||||||
|
|
||||||
|
lprob = 0;
|
||||||
|
for (i = 1; i <= length(feats); ++i) {
|
||||||
|
lprob += \$(feats[i]+1);
|
||||||
|
}
|
||||||
|
|
||||||
|
nprob += sum-lprob;
|
||||||
|
pprob += lprob;
|
||||||
|
|
||||||
|
nprob_max += NF-length(feats)
|
||||||
|
pprob_max += length(feats)
|
||||||
|
|
||||||
|
type = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
END {
|
||||||
|
print pprob/pprob_max, nprob/nprob_max;
|
||||||
|
}
|
||||||
|
EOS
|
||||||
|
)
|
||||||
|
paste -d "\n" $bidx $fprob | head -n$((n*2)) | awk "$script"
|
Loading…
x
Reference in New Issue
Block a user