blob: a48e5ab87b4b960b1fbcba48ccbd154204992fbe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#!/bin/bash
db_file=games_anon.db
query() {
echo "SELECT $1 FROM games WHERE (size == $2) \
and ((result == 'R-0') or (result == '0-R'));"
# and (result != '1-0') and (result != '0-1') and (result != '0-0')\
# and (result != '1/2-1/2');"
}
extract() {
if [ ! -f "data/$db_file" ]; then
wget "https://www.playtak.com/games_anon.db" -O "data/$db_file"
fi
for size in 5; do
echo Extracing games of size "$size"...
sqlite3 "data/$db_file" "$(query $1 $size)" | shuf > "data/playtak-$size"
done
}
process() {
num_games=$1
echo -e "Beginning to process data\n"
for i in 5; do
echo "Size $i..."
./pptdb "$i" "data/playtak-$i" > "data/check-$i"
tail -n21 "data/check-$i"
echo -e "\tStripping overflows and illegal games..."
grep -Fvxf "data/check-$i" "data/playtak-$i" > "data/good-playtak-$i"
echo -e "\tChoosing $num_games from what remains ..."
shuf -n $num_games "data/good-playtak-$i" > "data/smalltak-$i"
echo -en "\tGenerating training data... "
./pptdb "$i" "data/smalltak-$i" generate
echo -e "\tWrote $(wc -l data/training-$i.csv | cut -d\ -f1) samples. Shuffling these..."
tail -n+2 "data/training-$i.csv" | shuf > "data/shuf-$i.csv"
head -n 1 "data/training-$i.csv" | cat "data/shuf-$i.csv" > "data/smalltrain-$i.csv"
rm "data/shuf-$i.csv"
mv "data/smalltrain-5.csv" "data/training-5.csv "
echo -e "\n\tDone! Sample training data in data/training-$i.csv"
done
}
if [ ! -f "data/playtak-5" ]; then
extract notation,result
fi
make pptdb
process 20000
|