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