I defined labels as follows:
__label__bk = 1
__label__dw = 2
__label__my = 3
__label__rk = 4
I used following sed command:
sed -e 's/__label__bk /1\t/' -e 's/__label__dw /2\t/' -e 's/__label__my /3\t/' -e 's/__label__rk /4\t/' ./test.shuf.all > test.shuf.csv
Run for test file:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ sed -e 's/__label__bk /1\t/' -e 's/__label__dw /2\t/' -e 's/__label__my /3\t/' -e 's/__label__rk /4\t/' ./test.shuf.all > test.shuf.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ head test.shuf.csv
4 ဖြစ် နိုင် ကေ နောက် ကြာ သ ပ တေး နိ ။
3 ပြော ရ မှာ တော့ အား နာ ပါ ရဲ့ ကျွန် တော် ကွန် ပျူ တာ သိပ္ပံ နဲ့ ပတ် သက် လို့ များ များ စား စား မ သိ ဘူး ။
4 ယင်း ချင့် ကို မင်း အာ မ မ ခံ ခ ပါ ။
2 ကျွန် တော် မွန်း လန်း ဇာ စား နေ တူး ဟှ သူ ဖောင်း ပြော နေ ဟှယ် ။
1 အ မှား လုပ် ဝယ့် ကျောင်း သား ဒေ ဝို ဆ ရာ ဂ ရိုက် ရယ် ။
3 ခင် ဗျား မှာ ကျွန် တော့် နံ ပါတ် ရှိ တယ် လေ ။
4 ဒေ က လိန့် မေ စွာ စိတ် ရှုပ် လား ဗျာယ် ။
3 သူ တို့ က ဝံ ပု လွေ ကြီး ထွက် ပြေး အောင် ပန်း သီး တွေ နဲ့ ဗုံး ကြဲ သ လို ပစ် ပေါက် ကြ တယ် ။
4 ဒေ မာ ငါး မျှား စွာ ကို ခွ င့် မ ပြု ပါ ။
1 အယ့် ဒါ ဘ ဇာ လောက် ထင် ရှား ရိ ။
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$
Run for training data as follows:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ sed -e 's/__label__bk /1\t/' -e 's/__label__dw /2\t/' -e 's/__label__my /3\t/' -e 's/__label__rk /4\t/' ./train.shuf.all > train.shuf.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ head train.shuf.csv
2 နန့် ကီး မွန်း တည့် နူး ဟှ ကျန်် နော် တီ ဗီ ကေ့ နေ ဟှယ် ။
3 လတ် ဆတ် တဲ့ အ သီး များ နှ င့် ဟင်း သီး ဟင်း ရွက် များ က မင်း အ တွက် ကောင်း တယ် ။
3 သူ မ က သူ့ ကို သတ် ခဲ့ တာ လား ။
3 ဒါ ဘယ် သူ့ သွား တိုက် ဆေး လဲ ။
3 ဘယ် အ ချိန် ငွေ လာ ပေး ရ မ လဲ ဆို တာ ကျွန် တော် စဉ်း စား နေ တယ် ။
4 ယင်း ချင့် ဇာ လောက် တန် ဖိုး ဟိ လေး ။
3 ငါ အိပ် ချင် တယ် ဒါ ပေ မ ယ့် မ အိပ် နိုင် ဘူး ။
4 ဂီ တ ဟာ မြူး ကြွ စီ ရေ အ ထိ အ ရှိန် မြ င့် ခ ရေ ။
3 ကျွန် တော် တို့ အဲ ဒါ ကို တောင်း ဆို ထား လား ။
2 တ ပည့် ဂန်း များ ရ စာ ရေး တတ် ဝို့ နဲ့ ဖတ် တက် ဝို့ သန် ယူ နေ ရယ် ။
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$
Confirmation of filesize:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ wc train.*
45026 586952 5647995 train.shuf.all
45026 586952 5197735 train.shuf.csv
90052 1173904 10845730 total
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ wc test.*
4964 65253 628176 test.shuf.all
4964 65253 578536 test.shuf.csv
9928 130506 1206712 total
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$
for training data:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ cut -f1 ./train.shuf.csv > f1.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ cut -f2 ./train.shuf.csv > f2.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ wc {f1,f2}.csv
45026 45026 90052 f1.csv
45026 541926 5107683 f2.csv
90052 586952 5197735 total
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ paste -d "," f2.csv f1.(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ paste -d "," f2.csv f1.csv > train.final.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ head -n 3 ./train.final.csv
နန့် ကီး မွန်း တည့် နူး ဟှ ကျန်် နော် တီ ဗီ ကေ့ နေ ဟှယ် ။,2
လတ် ဆတ် တဲ့ အ သီး များ နှ င့် ဟင်း သီး ဟင်း ရွက် များ က မင်း အ တွက် ကောင်း တယ် ။,3
သူ မ က သူ့ ကို သတ် ခဲ့ တာ လား ။,3
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$
swap two columns for test data:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ cut -f1 ./test.shuf.csv > f1.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ cut -f2 ./test.shuf.csv > f2.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ paste -d "," f2.csv f1.csv > test.final.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$ head -n 3 ./test.final.csv
ဖြစ် နိုင် ကေ နောက် ကြာ သ ပ တေး နိ ။,4
ပြော ရ မှာ တော့ အား နာ ပါ ရဲ့ ကျွန် တော် ကွန် ပျူ တာ သိပ္ပံ နဲ့ ပတ် သက် လို့ များ များ စား စား မ သိ ဘူး ။,3
ယင်း ချင့် ကို မင်း အာ မ မ ခံ ခ ပါ ။,4
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv$
လူအနေနဲ့ ကြည့်ရတာက 1,2,3,4 ထက် bk,dw,my,rk က ပိုအဆင်ပြေလို့ နောက်ထပ် format version တစ်ခုလည်း ပြင်ဆင်ထားခဲ့တယ်။
for test file:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ sed -e 's/__label__bk /bk\t/' -e 's/__label__dw /dw\t/' -e 's/__label__my /my\t/' -e 's/__label__rk /rk\t/' ./test.shuf.all > test.shuf-txt.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ head -n 3 ./test.shuf-txt.csv
rk ဖြစ် နိုင် ကေ နောက် ကြာ သ ပ တေး နိ ။
my ပြော ရ မှာ တော့ အား နာ ပါ ရဲ့ ကျွန် တော် ကွန် ပျူ တာ သိပ္ပံ နဲ့ ပတ် သက် လို့ များ များ စား စား မ သိ ဘူး ။
rk ယင်း ချင့် ကို မင်း အာ မ မ ခံ ခ ပါ ။
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$
for training file:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ sed -e 's/__label__bk /bk\t/' -e 's/__label__dw /dw\t/' -e 's/__label__my /my\t/' -e 's/__label__rk /rk\t/' ./train.shuf.all > train.shuf-txt.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ head train.shuf-txt.csv
dw နန့် ကီး မွန်း တည့် နူး ဟှ ကျန် နော် တီ ဗီ ကေ့ နေ ဟှယ် ။
my လတ် ဆတ် တဲ့ အ သီး များ နှ င့် ဟင်း သီး ဟင်း ရွက် များ က မင်း အ တွက် ကောင်း တယ် ။
my သူ မ က သူ့ ကို သတ် ခဲ့ တာ လား ။
my ဒါ ဘယ် သူ့ သွား တိုက် ဆေး လဲ ။
my ဘယ် အ ချိန် ငွေ လာ ပေး ရ မ လဲ ဆို တာ ကျွန် တော် စဉ်း စား နေ တယ် ။
rk ယင်း ချင့် ဇာ လောက် တန် ဖိုး ဟိ လေး ။
my ငါ အိပ် ချင် တယ် ဒါ ပေ မ ယ့် မ အိပ် နိုင် ဘူး ။
rk ဂီ တ ဟာ မြူး ကြွ စီ ရေ အ ထိ အ ရှိန် မြ င့် ခ ရေ ။
my ကျွန် တော် တို့ အဲ ဒါ ကို တောင်း ဆို ထား လား ။
dw တ ပည့် ဂန်း များ ရ စာ ရေး တတ် ဝို့ နဲ့ ဖတ် တက် ဝို့ သန် ယူ နေ ရယ် ။
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$
swap two columns for training data:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ ls
test.shuf.all test.shuf-txt.csv train.shuf.all train.shuf-txt.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ cut -f1 ./train.shuf-txt.csv > f1
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ cut -f2 ./train.shuf-txt.csv > f2
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ paste -d "," f2 f1 > train.txt.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ head -n 3 ./train.txt.csv
နန့် ကီး မွန်း တည့် နူး ဟှ ကျန်် နော် တီ ဗီ ကေ့ နေ ဟှယ် ။,dw
လတ် ဆတ် တဲ့ အ သီး များ နှ င့် ဟင်း သီး ဟင်း ရွက် များ က မင်း အ တွက် ကောင်း တယ် ။,my
သူ မ က သူ့ ကို သတ် ခဲ့ တာ လား ။,my
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$
swap two columns for test data:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ cut -f1 ./test.shuf-txt.csv > f1
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ cut -f2 ./test.shuf-txt.csv > f2
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ paste -d "," f2 f1 > test.txt.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ head -n 3 ./test.txt.csv
ဖြစ် နိုင် ကေ နောက် ကြာ သ ပ တေး နိ ။,rk
ပြော ရ မှာ တော့ အား နာ ပါ ရဲ့ ကျွန် တော် ကွန် ပျူ တာ သိပ္ပံ နဲ့ ပတ် သက် လို့ များ များ စား စား မ သိ ဘူး ။,my
ယင်း ချင့် ကို မင်း အာ မ မ ခံ ခ ပါ ။,rk
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$
Moved to the Python scripts running folder:
(base) yekyaw.thu@gpu:~/exp/dialect-detection/data/txt-csv$ ls *.csv
test.shuf-txt.csv test.txt.csv train.shuf-txt.csv train.txt.csv
(base) yekyaw.thu@gpu:~/exp/dialect-detection/data/txt-csv$ cp {test,train}.txt.csv ../../scripts/csv/
change filename according to the python code:
(base) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ ls
test.txt.csv train.txt.csv
(base) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ mv train.txt.csv train.csv
(base) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ mv test.txt.csv test.csv
1st time running got error message as follows:
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$ time python ./knn.py
Traceback (most recent call last):
File "./knn.py", line 19, in <module>
polar_train = pd.read_csv('csv/train.csv')
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/pandas/util/_decorators.py", line 311, in wrapper
return func(*args, **kwargs)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 586, in read_csv
return _read(filepath_or_buffer, kwds)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 488, in _read
return parser.read(nrows)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 1047, in read
index, columns, col_dict = self._engine.read(nrows)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 224, in read
chunks = self._reader.read_low_memory(nrows)
File "pandas/_libs/parsers.pyx", line 801, in pandas._libs.parsers.TextReader.read_low_memory
File "pandas/_libs/parsers.pyx", line 857, in pandas._libs.parsers.TextReader._read_rows
File "pandas/_libs/parsers.pyx", line 843, in pandas._libs.parsers.TextReader._tokenize_rows
File "pandas/_libs/parsers.pyx", line 1925, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 2 fields in line 819, saw 3
real 0m0.320s
user 0m0.360s
sys 0m0.492s
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$
The reason is containing comman in the text or feature part at line no. 819 ...
ကောင် လေး က သူ့ ကို မော့ ကြ ည့် ပြီး ပြော တယ် ၊ ကဲ ကျွန် တော် တို့ ဝေး ဝေး ပြေး ကြ စို့ , လာ လာ ။,my
Cleaning extra spaces ...
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ ls
test.shuf.all test.shuf-txt.csv test.txt.csv train.shuf.all train.shuf-txt.csv train.txt.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ cut -f1 ./train.shuf-txt.csv > f1
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ cut -f2 ./train.shuf-txt.csv > f2
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ vi clean-space.pl
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ perl ./clean-space.pl ./f2 > f2.clean
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$
1st grep commas ...
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ grep -n "," ./f2.clean
819:ကောင် လေး က သူ့ ကို မော့ ကြ ည့် ပြီး ပြော တယ် ၊ ကဲ ကျွန် တော် တို့ ဝေး ဝေး ပြေး ကြ စို့ , လာ လာ ။
3412:မင်း ယင်း ချင့်် ကို ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ နဲ့ ဇာ ပိုင် ရ ခ လေ ။
6507:မြို့ စား ကြီး က လယ် သ မား ကြီး ကို ဒေါ် လာ ၄ ၀ , ၀ ၀ ၀ ပေး လိ မ့် မယ် ။
7156:ခြံ ရဲ့ တန် ဘိုး အ မှန် က ဒေါ် လာ ၄ ၀ , ၀ ၀ ၀ လား ။
7492:မင်း အ ခန်း က နောက် တစ် ပတ် မှာ အ သ င့် ဖြစ် ဖို့ ၊ ယ ကေ လည်း ,င်း အ ချိန် ထိ ကျွန် တော် ရို့ နဲ့ နိန် နိုင် ပါ ယေ ။
8533:ခြံ ရဲ့ ဈေး ဟာ ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ လား ။
12854:မင်း ဒါ ကို ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ နဲ့ ဘယ် လို ရ ခဲ့ သ လဲ ။
14034:မြိုး စား ကြီး က ဒေါ် လာ ၁ ၀ , ၀ ၀ ၀ ပို့ လိုက် တေ ။
14410: ကျွန် တော် အဲ ဒါ ကို ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ နဲ့ ရ ခဲ့ ပါ တယ် ။
14509:ငါ ယင်း ချင့် ကို ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ နန့် ရ ခ ရေ ။
21574:လျော့ ဈီး က ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ လား ။
24255:အင်္ဂ လိပ် အ ပြင် , ကို ရီး ယား ကို လည်း သူ ရို့ ကျွမ်း ကျွမ်း ကျင် ကျင် ပြော နိုင် တယ် ။
26744:မြို့ စား ကြီး က ဒေါ် လာ ၁ ၀ , ၀ ၀ ၀ ပို့ လိုက် တယ် ။
28156:အေ ခြံ ဈီး စွာ ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ လား ။
30173:အင်္ဂ လိပ် အ ပြင် , ကို ရီး ယား ကို လည်း သူ ရို့ ကျွမ်း ကျွမ်း ကျင် ကျင် ပြော နိုင် ရေ ။
30299:အ ကျိုး ဆောင် က ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ ပီး ခ ရေ ။
32414:အ ကျိုး ဆောင် က ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ ပေး ခဲ့ တယ် ။
32906:ခြံ တန် ဖိုး အ မှန် ဂ ပေါင် ၄ ၀ , ၀ ၀ ၀ ပါ ။
34567:ခြံ ရဲ့ အ မှန် တ ကယ် တန် ဘိုး က ပေါင် ၄ ၀ , ၀ ၀ ၀ ပါ ။
35936:လျှော့ ဈေး က ဒေါ် လာ ၃ ၀ , ၀ ၀ ၀ လား ။
39243:အေ ခြံ တန် ဖိုး အ မှန် ဂ ဒေါ် လာ ၄ ၀ , ၀ ၀ ၀ လား ။
39790:မြိုး စား ကြီး က လယ် သ မား ကြီး ကို ဒေါ် လာ ၄ ၀ , ၀ ၀ ၀ ပီး လိ မ့် မေ ။
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$
အထက်ပါအတိုင်း corpus ထဲမှာက comma တွေ တော်တော်ပါနေတာနဲ့ ပြီးတော့ "," ကို delimeter အဖြစ် သုံးရတာက ပြဿနာ ပေးတာများတာမို့လို့ .... comma အစား TAB ကိုပဲ သုံးဖို့ ဆုံးဖြတ်ခဲ့တယ်။
I decided to use TAB ...
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ paste f2 f1 > train.tab.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ head -n ./train.tab.csv
head: invalid number of lines: ‘./train.tab.csv’
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ head -n 5 ./train.tab.csv
နန့် ကီး မွန်း တည့် နူး ဟှ ကျန်် နော် တီ ဗီ ကေ့ နေ ဟှယ် ။ dw
လတ် ဆတ် တဲ့ အ သီး များ နှ င့် ဟင်း သီး ဟင်း ရွက် များ က မင်း အ တွက် ကောင်း တယ် ။ my
သူ မ က သူ့ ကို သတ် ခဲ့ တာ လား ။ my
ဒါ ဘယ် သူ့ သွား တိုက် ဆေး လဲ ။ my
ဘယ် အ ချိန် ငွေ လာ ပေး ရ မ လဲ ဆို တာ ကျွန် တော် စဉ်း စား နေ တယ် ။ my
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$
cleaning spaces and prepare TAB separated file for test data:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ cut -f1 ./test.shuf-txt.csv > f1
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ cut -f2 ./test.shuf-txt.csv > f2
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ perl ./clean-space.pl ./f2 > f2.clean
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ paste f2 f1 > test.tab.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$ head -n 5 ./test.tab.csv
ဖြစ် နိုင် ကေ နောက် ကြာ သ ပ တေး နိ ။ rk
ပြော ရ မှာ တော့ အား နာ ပါ ရဲ့ ကျွန် တော် ကွန် ပျူ တာ သိပ္ပံ နဲ့ ပတ် သက် လို့ များ များ စား စား မ သိ ဘူး ။ my
ယင်း ချင့် ကို မင်း အာ မ မ ခံ ခ ပါ ။ rk
ကျွန် တော် မွန်း လန်း ဇာ စား နေ တူး ဟှ သူ ဖောင်း ပြော နေ ဟှယ် ။ dw
အ မှား လုပ် ဝယ့် ကျောင်း သား ဒေ ဝို ဆ ရာ ဂ ရိုက် ရယ် ။ bk
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/txt-csv$
Copied zip file to server and prepared on server as follows:
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/data/txt-csv$ cp {test,train}.tab.csv ../../scripts/csv/
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/data/txt-csv$ cd ../../scripts/csv/
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ ls
test.tab.csv train.tab.csv
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ wc *
4964 65253 583500 test.tab.csv
45026 586952 5242761 train.tab.csv
49990 652205 5826261 total
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$
Change filename according to the Python code:
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ mv test.tab.csv test.csv
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ mv train.tab.csv train.csv
added "sep" parameter ...
polar_train = pd.read_csv('csv/train.csv', sep="\t")
polar_test = pd.read_csv('csv/test.csv', sep="\t")
Train with TAB file and got following error:
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$ time python ./knn.py
mkdir: cannot create directory ‘data_preprocessors’: File exists
mkdir: cannot create directory ‘vectorized_data’: File exists
Traceback (most recent call last):
File "./knn.py", line 35, in <module>
unigram_vectorizer.fit(polar_train['text'].values)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 1283, in fit
self.fit_transform(raw_documents)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 1330, in fit_transform
vocabulary, X = self._count_vocab(raw_documents, self.fixed_vocabulary_)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 1201, in _count_vocab
for feature in analyze(doc):
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 108, in _analyze
doc = decoder(doc)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 227, in decode
"np.nan is an invalid document, expected byte or unicode string."
ValueError: np.nan is an invalid document, expected byte or unicode string.
real 0m0.755s
user 0m0.767s
sys 0m0.720s
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$
When I refered following link:
https://towardsdatascience.com/building-a-sentiment-classifier-using-scikit-learn-54c8e7c5d2f0
I found that using number label ...
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/number-csv$ sed -e 's/bk/1/' -e 's/dw/2/' -e 's/my/3/' -e 's/rk/4/' ./train.tab.csv > train.no.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/number-csv$ gedit train.no.csv
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/number-csv$ sed -e 's/bk/1/' -e 's/dw/2/' -e 's/my/3/' -e 's/rk/4/' ./test.tab.csv > test.no.csv
Check the converted file:
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/number-csv$ head -n 5 ./train.no.csv
နန့် ကီး မွန်း တည့် နူး ဟှ ကျန်် နော် တီ ဗီ ကေ့ နေ ဟှယ် ။ 2
လတ် ဆတ် တဲ့ အ သီး များ နှ င့် ဟင်း သီး ဟင်း ရွက် များ က မင်း အ တွက် ကောင်း တယ် ။ 3
သူ မ က သူ့ ကို သတ် ခဲ့ တာ လား ။ 3
ဒါ ဘယ် သူ့ သွား တိုက် ဆေး လဲ ။ 3
ဘယ် အ ချိန် ငွေ လာ ပေး ရ မ လဲ ဆို တာ ကျွန် တော် စဉ်း စား နေ တယ် ။ 3
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/number-csv$ head -n 5 ./test.no.csv
ဖြစ် နိုင် ကေ နောက် ကြာ သ ပ တေး နိ ။ 4
ပြော ရ မှာ တော့ အား နာ ပါ ရဲ့ ကျွန် တော် ကွန် ပျူ တာ သိပ္ပံ နဲ့ ပတ် သက် လို့ များ များ စား စား မ သိ ဘူး ။ 3
ယင်း ချင့် ကို မင်း အာ မ မ ခံ ခ ပါ ။ 4
ကျွန် တော် မွန်း လန်း ဇာ စား နေ တူး ဟှ သူ ဖောင်း ပြော နေ ဟှယ် ။ 2
အ မှား လုပ် ဝယ့် ကျောင်း သား ဒေ ဝို ဆ ရာ ဂ ရိုက် ရယ် ။ 1
(base) ye@ykt-pro:~/data/ethnic-parallel-data/4dialect-detect/preprocess/csv/number-csv$
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/data/number-csv$ cp train.no.csv ../../scripts/csv/
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/data/number-csv$ cp test.no.csv ../../scripts/csv/
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/data/number-csv$ cd ../../scripts/csv/
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ ls
test.csv test.no.csv train.csv train.no.csv without-header
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ rm train.csv
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ rm test.csv
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ ls
test.no.csv train.no.csv without-header
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ mv train.no.csv train.csv
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ mv test.no.csv test.csv
Add headers ...
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ head -n 3 train.csv
text label
နန့် ကီး မွန်း တည့် နူး ဟှ ကျန်် နော် တီ ဗီ ကေ့ နေ ဟှယ် ။ 2
လတ် ဆတ် တဲ့ အ သီး များ နှ င့် ဟင်း သီး ဟင်း ရွက် များ က မင်း အ တွက် ကောင်း တယ် ။ 3
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ head -n 3 test.csv
text label
ဖြစ် နိုင် ကေ နောက် ကြာ သ ပ တေး နိ ။ 4
ပြော ရ မှာ တော့ အား နာ ပါ ရဲ့ ကျွန် တော် ကွန် ပျူ တာ သိပ္ပံ နဲ့ ပတ် သက် လို့ များ များ စား စား မ သိ ဘူး ။ 3
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$
Training KNN ...
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$ time python ./knn.py
mkdir: cannot create directory ‘data_preprocessors’: File exists
mkdir: cannot create directory ‘vectorized_data’: File exists
Traceback (most recent call last):
File "./knn.py", line 35, in <module>
unigram_vectorizer.fit(polar_train['text'].values)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 1283, in fit
self.fit_transform(raw_documents)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 1330, in fit_transform
vocabulary, X = self._count_vocab(raw_documents, self.fixed_vocabulary_)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 1201, in _count_vocab
for feature in analyze(doc):
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 108, in _analyze
doc = decoder(doc)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/sklearn/feature_extraction/text.py", line 227, in decode
"np.nan is an invalid document, expected byte or unicode string."
ValueError: np.nan is an invalid document, expected byte or unicode string.
real 0m0.726s
user 0m0.771s
sys 0m0.515s
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$
Found blank lines ...
(sentiment) ye@ykt-pro:~/exp/dialect-detect/csv$ grep -n "^$" ./f1
3715:
4933:
8634:
8739:
9764:
11574:
11743:
18184:
23604:
24292:
25407:
26392:
35382:
37034:
43843:
(sentiment) ye@ykt-pro:~/exp/dialect-detect/csv$
Blank line တွေကို ရှင်ပြီးတော့ KNN ကို training လုပ်တာ ရပြီ ဒါပေမဲ့ အောက်ပါအတိုင်း error အသစ် ထပ်ရတယ်။
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$ time python knn.py
mkdir: cannot create directory ‘data_preprocessors’: File exists
mkdir: cannot create directory ‘vectorized_data’: File exists
KNN, Unigram Counts
Train score: 0.65 ; Validation score: 0.62
Traceback (most recent call last):
File "knn.py", line 121, in <module>
train_and_show_scores_KNN(X_train_unigram, y_train, 'KNN, Unigram Counts', 'knn_unigram_count.joblib')
File "knn.py", line 117, in train_and_show_scores_KNN
dump(clf, 'classifiers/' + model)
File "/home/yekyaw.thu/.conda/envs/tabpfn/lib/python3.7/site-packages/joblib/numpy_pickle.py", line 552, in dump
with open(filename, 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'classifiers/knn_unigram_count.joblib'
real 0m25.647s
user 0m19.971s
sys 0m5.579s
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$
classifier folder မရှိလို့ ပေးတဲ့ error ပါ။ အဲဒါကြောင့် folder ဆောက်ပေးလိုက်တဲ့အခါမှာ အဆင်ပြေသွားပါတယ်။
Blank lines in test file also:
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$ grep -n "^$" f1
1051:
4792:
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts/csv$
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$ time python knn.py
mkdir: cannot create directory ‘data_preprocessors’: File exists
mkdir: cannot create directory ‘vectorized_data’: File exists
KNN, Unigram Counts
Train score: 0.67 ; Validation score: 0.65
KNN, Unigram Tf-Idf
Train score: 0.66 ; Validation score: 0.63
KNN, Bigram Counts
Train score: 0.64 ; Validation score: 0.62
KNN, Bigram Tf-Idf
Train score: 0.66 ; Validation score: 0.62
KNN Test Result, Unigram Counts: 0.579403466344216
Error Rate: 0.42
KNN Test Result, Unigram Tf-Idf: 0.6297863764611044
Error Rate: 0.37
KNN Test Result, Bigram Count: 0.5257960499798469
Error Rate: 0.47
KNN Test Result, Bigram Tf-Idf: 0.6299879081015719
Error Rate: 0.37
real 1m49.006s
user 1m24.834s
sys 0m24.650s
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$ time python svm.py
mkdir: cannot create directory ‘data_preprocessors’: File exists
mkdir: cannot create directory ‘vectorized_data’: File exists
SVM, Unigram Counts
Train score: 0.68 ; Validation score: 0.67
SVM, Unigram Tf-Idf
Train score: 0.68 ; Validation score: 0.68
SVM, Bigram Counts
Train score: 0.7 ; Validation score: 0.68
SVM, Bigram Tf-Idf
Train score: 0.7 ; Validation score: 0.68
SVM Test Result, Unigram Counts: 0.6178960096735188
Error Rate: 0.38
SVM Test Result, Unigram Tf-Idf: 0.6704957678355502
Error Rate: 0.33
SVM Test Result, Bigram Count: 0.5689238210399032
Error Rate: 0.43
SVM Test Result, Bigram Tf-Idf: 0.6779524385328497
Error Rate: 0.32
real 1m44.737s
user 1m44.475s
sys 0m0.981s
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$ time python dtree.py
mkdir: cannot create directory ‘data_preprocessors’: File exists
mkdir: cannot create directory ‘vectorized_data’: File exists
DTREE, Unigram Counts
Train score: 0.71 ; Validation score: 0.66
DTREE, Unigram Tf-Idf
Train score: 0.71 ; Validation score: 0.66
DTREE, Bigram Counts
Train score: 0.72 ; Validation score: 0.67
DTREE, Bigram Tf-Idf
Train score: 0.72 ; Validation score: 0.66
Decision Tree Test Result, Unigram Counts: 0.60378879484079
Error Rate: 0.40
Decision Tree Test Result, Unigram Tf-Idf: 0.6646513502619912
Error Rate: 0.34
Decision Tree Test Result, Bigram Count: 0.5016122531237405
Error Rate: 0.50
Decision Tree Test Result, Bigram Tf-Idf: 0.6652559451833938
Error Rate: 0.33
real 0m3.219s
user 0m3.141s
sys 0m0.629s
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$ time python rforest.py
mkdir: cannot create directory ‘data_preprocessors’: File exists
mkdir: cannot create directory ‘vectorized_data’: File exists
RFOREST, Unigram Counts
Train score: 0.71 ; Validation score: 0.68
RFOREST, Unigram Tf-Idf
Train score: 0.71 ; Validation score: 0.67
RFOREST, Bigram Counts
Train score: 0.71 ; Validation score: 0.68
RFOREST, Bigram Tf-Idf
Train score: 0.72 ; Validation score: 0.67
Random Forest Test Result, Unigram Counts: 0.6064087061668681
Error Rate: 0.39
Random Forest Test Result, Unigram Tf-Idf: 0.6741233373639661
Error Rate: 0.33
Random Forest Test Result, Bigram Count: 0.5689238210399032
Error Rate: 0.43
Random Forest Test Result, Bigram Tf-Idf: 0.6743248690044337
Error Rate: 0.33
real 1m11.160s
user 1m10.852s
sys 0m0.814s
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$ time python ./sgd.py
mkdir: cannot create directory ‘data_preprocessors’: File exists
mkdir: cannot create directory ‘vectorized_data’: File exists
SGD, Unigram Counts
Train score: 0.67 ; Validation score: 0.67
SGD, Unigram Tf-Idf
Train score: 0.68 ; Validation score: 0.67
SGD, Bigram Counts
Train score: 0.69 ; Validation score: 0.68
SGD, Bigram Tf-Idf
Train score: 0.64 ; Validation score: 0.62
SGD Test Result, Unigram Counts: 0.6626360338573156
Error Rate: 0.34
SGD Test Result, Unigram Tf-Idf: 0.666062071745264
Error Rate: 0.33
SGD Test Result, Bigram Count: 0.6690850463522773
Error Rate: 0.33
SGD Test Result, Bigram Tf-Idf: 0.6174929463925837
Error Rate: 0.38
real 0m2.169s
user 0m2.156s
sys 0m0.760s
(tabpfn) yekyaw.thu@gpu:~/exp/dialect-detection/scripts$
အချိန်ရတဲ့အခါမှာ အထက်က result တွေကို ဇယားဆောက်ပြီး compare လုပ်ကြည့်ရန် ...