Add first solution

This commit is contained in:
Aleksy Wroblewski 2021-04-15 18:16:41 +02:00
parent e4adfb04dc
commit 31a45be3f8
4 changed files with 824 additions and 0 deletions

87
dev-0/out.tsv Normal file
View File

@ -0,0 +1,87 @@
31
33
30
12
32
19
41
15
1
11
15
19
7
9
5
42
20
36
4
24
21
40
2
0
25
23
10
2
24
44
6
43
26
9
5
3
35
22
10
12
1
27
41
29
8
28
3
7
15
6
13
30
6
23
18
0
7
7
6
17
3
34
15
37
19
16
14
8
38
3
32
4
8
14
7
15
25
18
29
39
11
15
11
24
14
22
24
1 31
2 33
3 30
4 12
5 32
6 19
7 41
8 15
9 1
10 11
11 15
12 19
13 7
14 9
15 5
16 42
17 20
18 36
19 4
20 24
21 21
22 40
23 2
24 0
25 25
26 23
27 10
28 2
29 24
30 44
31 6
32 43
33 26
34 9
35 5
36 3
37 35
38 22
39 10
40 12
41 1
42 27
43 41
44 29
45 8
46 28
47 3
48 7
49 15
50 6
51 13
52 30
53 6
54 23
55 18
56 0
57 7
58 7
59 6
60 17
61 3
62 34
63 15
64 37
65 19
66 16
67 14
68 8
69 38
70 3
71 32
72 4
73 8
74 14
75 7
76 15
77 25
78 18
79 29
80 39
81 11
82 15
83 11
84 24
85 14
86 22
87 24

23
solution-dev0.py Normal file
View File

@ -0,0 +1,23 @@
from sklearn.feature_extraction.text import TfidfVectorizer
import numpy as np
import sklearn.metrics
from sklearn.cluster import KMeans
def main():
with open("dev-0/in.tsv") as in_file:
documents = in_file.readlines()
vectorizer = TfidfVectorizer(ngram_range=(1, 3), use_idf=False)
vectorizer = TfidfVectorizer()
document_vectors = vectorizer.fit_transform(documents)
predictions = KMeans(n_clusters=45).fit_predict(document_vectors)
with open("dev-0/out.tsv", "w") as out_file:
for prediction in predictions:
out_file.write(str(prediction) + '\n')
if __name__ == '__main__':
main()

23
solution-testA.py Normal file
View File

@ -0,0 +1,23 @@
from sklearn.feature_extraction.text import TfidfVectorizer
import numpy as np
import sklearn.metrics
from sklearn.cluster import KMeans
def main():
with open("test-A/in.tsv") as in_file:
documents = in_file.readlines()
vectorizer = TfidfVectorizer(ngram_range=(1, 3), use_idf=False)
vectorizer = TfidfVectorizer()
document_vectors = vectorizer.fit_transform(documents)
predictions = KMeans(n_clusters=45).fit_predict(document_vectors)
with open("test-A/out.tsv", "w") as out_file:
for prediction in predictions:
out_file.write(str(prediction) + '\n')
if __name__ == '__main__':
main()

691
test-A/out.tsv Normal file
View File

@ -0,0 +1,691 @@
8
9
13
39
7
24
39
32
37
20
38
17
1
15
32
35
7
23
7
2
5
21
24
16
28
30
2
36
32
30
23
1
24
23
10
9
17
23
13
34
23
39
7
1
44
15
5
43
13
31
13
23
30
16
31
12
23
13
23
6
23
7
2
23
30
18
16
24
2
30
5
10
7
7
23
23
16
30
16
30
29
25
42
2
7
17
23
16
20
23
30
5
10
7
7
7
8
15
23
39
6
1
41
26
30
12
30
23
23
2
1
11
30
13
3
35
2
9
30
23
6
19
39
39
31
13
7
12
1
2
5
10
31
12
2
10
27
30
42
27
26
29
6
27
24
23
2
27
5
12
7
41
5
23
16
17
7
6
35
21
4
23
2
43
5
41
42
4
10
10
9
16
34
39
7
42
5
38
12
2
25
6
6
2
10
32
19
42
32
31
8
24
17
12
22
10
2
13
5
8
30
3
8
38
7
7
13
43
20
8
37
43
23
7
43
17
1
24
22
37
31
12
5
29
14
10
4
23
42
23
23
33
12
43
24
30
10
16
33
5
39
30
18
36
30
22
5
5
36
43
30
2
25
1
3
14
1
39
23
6
12
1
7
2
27
33
16
2
3
9
29
31
5
6
24
7
15
1
6
35
2
5
31
30
1
28
6
13
41
24
23
34
30
30
9
31
7
28
41
36
38
23
2
31
31
38
2
23
20
32
39
31
35
23
42
9
5
6
43
23
2
42
21
32
34
3
20
44
30
15
23
23
2
12
23
13
30
35
32
26
23
2
1
23
16
6
23
17
23
23
30
23
5
32
7
23
31
30
26
7
2
2
30
17
31
30
13
1
43
4
20
33
17
36
32
23
12
7
16
23
10
30
29
30
8
1
21
17
26
24
2
18
23
13
23
9
8
32
7
5
15
2
12
40
12
23
23
1
5
1
39
28
32
30
12
5
43
31
30
43
37
2
2
24
4
23
13
7
29
2
23
16
43
39
25
2
39
1
16
24
22
13
16
40
7
9
35
25
32
15
30
39
31
33
43
23
30
43
30
31
32
31
31
2
34
7
13
30
39
34
34
34
37
23
2
15
3
23
10
22
4
14
37
37
0
15
23
31
3
20
31
13
43
30
1
23
1
27
7
6
32
13
23
23
23
35
21
35
1
38
24
4
24
9
3
17
2
7
9
43
1
32
4
23
30
39
23
42
2
34
25
23
23
13
23
21
29
23
31
23
11
27
7
11
40
24
22
1
37
1
35
16
3
36
10
25
30
8
10
18
24
13
44
32
30
30
12
23
32
10
13
13
30
9
35
17
1
26
17
23
12
6
23
24
23
23
25
12
6
31
9
6
30
24
21
9
8
5
2
26
13
23
31
23
12
44
23
23
43
15
17
1
8
26
17
31
6
43
9
20
6
21
5
13
5
14
2
15
41
22
17
43
23
7
34
30
42
16
22
30
23
8
6
12
32
4
23
16
36
9
31
5
25
17
30
12
7
3
17
12
44
24
23
2
2
1
40
39
24
23
1
7
32
4
34
42
23
39
30
24
22
10
30
4
1
13
23
26
8
32
4
1 8
2 9
3 13
4 39
5 7
6 24
7 39
8 32
9 37
10 20
11 38
12 17
13 1
14 15
15 32
16 35
17 7
18 23
19 7
20 2
21 5
22 21
23 24
24 16
25 28
26 30
27 2
28 36
29 32
30 30
31 23
32 1
33 24
34 23
35 10
36 9
37 17
38 23
39 13
40 34
41 23
42 39
43 7
44 1
45 44
46 15
47 5
48 43
49 13
50 31
51 13
52 23
53 30
54 16
55 31
56 12
57 23
58 13
59 23
60 6
61 23
62 7
63 2
64 23
65 30
66 18
67 16
68 24
69 2
70 30
71 5
72 10
73 7
74 7
75 23
76 23
77 16
78 30
79 16
80 30
81 29
82 25
83 42
84 2
85 7
86 17
87 23
88 16
89 20
90 23
91 30
92 5
93 10
94 7
95 7
96 7
97 8
98 15
99 23
100 39
101 6
102 1
103 41
104 26
105 30
106 12
107 30
108 23
109 23
110 2
111 1
112 11
113 30
114 13
115 3
116 35
117 2
118 9
119 30
120 23
121 6
122 19
123 39
124 39
125 31
126 13
127 7
128 12
129 1
130 2
131 5
132 10
133 31
134 12
135 2
136 10
137 27
138 30
139 42
140 27
141 26
142 29
143 6
144 27
145 24
146 23
147 2
148 27
149 5
150 12
151 7
152 41
153 5
154 23
155 16
156 17
157 7
158 6
159 35
160 21
161 4
162 23
163 2
164 43
165 5
166 41
167 42
168 4
169 10
170 10
171 9
172 16
173 34
174 39
175 7
176 42
177 5
178 38
179 12
180 2
181 25
182 6
183 6
184 2
185 10
186 32
187 19
188 42
189 32
190 31
191 8
192 24
193 17
194 12
195 22
196 10
197 2
198 13
199 5
200 8
201 30
202 3
203 8
204 38
205 7
206 7
207 13
208 43
209 20
210 8
211 37
212 43
213 23
214 7
215 43
216 17
217 1
218 24
219 22
220 37
221 31
222 12
223 5
224 29
225 14
226 10
227 4
228 23
229 42
230 23
231 23
232 33
233 12
234 43
235 24
236 30
237 10
238 16
239 33
240 5
241 39
242 30
243 18
244 36
245 30
246 22
247 5
248 5
249 36
250 43
251 30
252 2
253 25
254 1
255 3
256 14
257 1
258 39
259 23
260 6
261 12
262 1
263 7
264 2
265 27
266 33
267 16
268 2
269 3
270 9
271 29
272 31
273 5
274 6
275 24
276 7
277 15
278 1
279 6
280 35
281 2
282 5
283 31
284 30
285 1
286 28
287 6
288 13
289 41
290 24
291 23
292 34
293 30
294 30
295 9
296 31
297 7
298 28
299 41
300 36
301 38
302 23
303 2
304 31
305 31
306 38
307 2
308 23
309 20
310 32
311 39
312 31
313 35
314 23
315 42
316 9
317 5
318 6
319 43
320 23
321 2
322 42
323 21
324 32
325 34
326 3
327 20
328 44
329 30
330 15
331 23
332 23
333 2
334 12
335 23
336 13
337 30
338 35
339 32
340 26
341 23
342 2
343 1
344 23
345 16
346 6
347 23
348 17
349 23
350 23
351 30
352 23
353 5
354 32
355 7
356 23
357 31
358 30
359 26
360 7
361 2
362 2
363 30
364 17
365 31
366 30
367 13
368 1
369 43
370 4
371 20
372 33
373 17
374 36
375 32
376 23
377 12
378 7
379 16
380 23
381 10
382 30
383 29
384 30
385 8
386 1
387 21
388 17
389 26
390 24
391 2
392 18
393 23
394 13
395 23
396 9
397 8
398 32
399 7
400 5
401 15
402 2
403 12
404 40
405 12
406 23
407 23
408 1
409 5
410 1
411 39
412 28
413 32
414 30
415 12
416 5
417 43
418 31
419 30
420 43
421 37
422 2
423 2
424 24
425 4
426 23
427 13
428 7
429 29
430 2
431 23
432 16
433 43
434 39
435 25
436 2
437 39
438 1
439 16
440 24
441 22
442 13
443 16
444 40
445 7
446 9
447 35
448 25
449 32
450 15
451 30
452 39
453 31
454 33
455 43
456 23
457 30
458 43
459 30
460 31
461 32
462 31
463 31
464 2
465 34
466 7
467 13
468 30
469 39
470 34
471 34
472 34
473 37
474 23
475 2
476 15
477 3
478 23
479 10
480 22
481 4
482 14
483 37
484 37
485 0
486 15
487 23
488 31
489 3
490 20
491 31
492 13
493 43
494 30
495 1
496 23
497 1
498 27
499 7
500 6
501 32
502 13
503 23
504 23
505 23
506 35
507 21
508 35
509 1
510 38
511 24
512 4
513 24
514 9
515 3
516 17
517 2
518 7
519 9
520 43
521 1
522 32
523 4
524 23
525 30
526 39
527 23
528 42
529 2
530 34
531 25
532 23
533 23
534 13
535 23
536 21
537 29
538 23
539 31
540 23
541 11
542 27
543 7
544 11
545 40
546 24
547 22
548 1
549 37
550 1
551 35
552 16
553 3
554 36
555 10
556 25
557 30
558 8
559 10
560 18
561 24
562 13
563 44
564 32
565 30
566 30
567 12
568 23
569 32
570 10
571 13
572 13
573 30
574 9
575 35
576 17
577 1
578 26
579 17
580 23
581 12
582 6
583 23
584 24
585 23
586 23
587 25
588 12
589 6
590 31
591 9
592 6
593 30
594 24
595 21
596 9
597 8
598 5
599 2
600 26
601 13
602 23
603 31
604 23
605 12
606 44
607 23
608 23
609 43
610 15
611 17
612 1
613 8
614 26
615 17
616 31
617 6
618 43
619 9
620 20
621 6
622 21
623 5
624 13
625 5
626 14
627 2
628 15
629 41
630 22
631 17
632 43
633 23
634 7
635 34
636 30
637 42
638 16
639 22
640 30
641 23
642 8
643 6
644 12
645 32
646 4
647 23
648 16
649 36
650 9
651 31
652 5
653 25
654 17
655 30
656 12
657 7
658 3
659 17
660 12
661 44
662 24
663 23
664 2
665 2
666 1
667 40
668 39
669 24
670 23
671 1
672 7
673 32
674 4
675 34
676 42
677 23
678 39
679 30
680 24
681 22
682 10
683 30
684 4
685 1
686 13
687 23
688 26
689 8
690 32
691 4