forked from kubapok/retroc2
36 KiB
36 KiB
import pandas as pd
import gensim
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LinearRegression
df = pd.read_csv('./train/train.tsv', header=None, sep='\t')
df
0 | 1 | 2 | 3 | 4 | |
---|---|---|---|---|---|
0 | 1985.493151 | 1985.495890 | PRZEKRÓJ | MBC | nowią część kultury. U nas już nikt ich nie ch... |
1 | 1926.473973 | 1926.476712 | NADWIŚLANIN | KPBC | hlstorja znana w okresie piramid, jak wlaśclcl... |
2 | 2013.961644 | 2013.964384 | SĄD APELACYJNY W ŁODZI I WYDZIAŁ CYWILNY | SAOS | działek. Idąc dalej w swych hipotetycznych roz... |
3 | 1925.000000 | 1926.000000 | GAZETA BANKOWA | eBUW | w Warszawie o stosunkach domowych dziatwy szko... |
4 | 1981.000000 | 1982.000000 | CIA | ZBC | \\\\'iykład: "Cywilizacyjna Koncepcja dziejów ¥e... |
... | ... | ... | ... | ... | ... |
107458 | 2013.057534 | 2013.060274 | SĄD REJONOWY DLA WROCŁAWIA-ŚRÓDMIEŚCIA WE WROC... | SAOS | M. (2) na rzecz powoda M. S. kwotę 5003,66 zł ... |
107459 | 2013.021918 | 2013.024658 | WYROK W SPRAWIE KIO | SAOS | Zintegrowanego Systemu Informatycznego (ZSI), ... |
107460 | 2013.920548 | 2013.923288 | SĄD OKRĘGOWY W PIOTRKOWIE TRYBUNALSKIM IV WYDZ... | SAOS | prokurator. Wyrokowi temu powołując się na prz... |
107461 | 2013.082192 | 2013.084931 | SĄD REJONOWY W JELENIEJ GÓRZE I WYDZIAŁ CYWILNY | SAOS | 07 lipca 2010 r. świadczą o tym, że nie wszyst... |
107462 | 2013.098630 | 2013.101370 | SĄD OKRĘGOWY W ELBLĄGU I WYDZIAŁ CYWILNY | SAOS | zatem niezdolności do pracy było schorzenie sa... |
107463 rows × 5 columns
df['mean'] = (df.iloc[:, 0] + df.iloc[:, 1])/2
df
0 | 1 | 2 | 3 | 4 | mean | |
---|---|---|---|---|---|---|
0 | 1985.493151 | 1985.495890 | PRZEKRÓJ | MBC | nowią część kultury. U nas już nikt ich nie ch... | 1985.494521 |
1 | 1926.473973 | 1926.476712 | NADWIŚLANIN | KPBC | hlstorja znana w okresie piramid, jak wlaśclcl... | 1926.475342 |
2 | 2013.961644 | 2013.964384 | SĄD APELACYJNY W ŁODZI I WYDZIAŁ CYWILNY | SAOS | działek. Idąc dalej w swych hipotetycznych roz... | 2013.963014 |
3 | 1925.000000 | 1926.000000 | GAZETA BANKOWA | eBUW | w Warszawie o stosunkach domowych dziatwy szko... | 1925.500000 |
4 | 1981.000000 | 1982.000000 | CIA | ZBC | \\\\'iykład: "Cywilizacyjna Koncepcja dziejów ¥e... | 1981.500000 |
... | ... | ... | ... | ... | ... | ... |
107458 | 2013.057534 | 2013.060274 | SĄD REJONOWY DLA WROCŁAWIA-ŚRÓDMIEŚCIA WE WROC... | SAOS | M. (2) na rzecz powoda M. S. kwotę 5003,66 zł ... | 2013.058904 |
107459 | 2013.021918 | 2013.024658 | WYROK W SPRAWIE KIO | SAOS | Zintegrowanego Systemu Informatycznego (ZSI), ... | 2013.023288 |
107460 | 2013.920548 | 2013.923288 | SĄD OKRĘGOWY W PIOTRKOWIE TRYBUNALSKIM IV WYDZ... | SAOS | prokurator. Wyrokowi temu powołując się na prz... | 2013.921918 |
107461 | 2013.082192 | 2013.084931 | SĄD REJONOWY W JELENIEJ GÓRZE I WYDZIAŁ CYWILNY | SAOS | 07 lipca 2010 r. świadczą o tym, że nie wszyst... | 2013.083562 |
107462 | 2013.098630 | 2013.101370 | SĄD OKRĘGOWY W ELBLĄGU I WYDZIAŁ CYWILNY | SAOS | zatem niezdolności do pracy było schorzenie sa... | 2013.100000 |
107463 rows × 6 columns
df['tokenized'] = [list(set(gensim.utils.tokenize(x, lowercase = True))) for x in df[4]]
df
0 | 1 | 2 | 3 | 4 | mean | tokenized | |
---|---|---|---|---|---|---|---|
0 | 1985.493151 | 1985.495890 | PRZEKRÓJ | MBC | nowią część kultury. U nas już nikt ich nie ch... | 1985.494521 | [o, poparzonego, pa, prawda, zdecydowała, btll... |
1 | 1926.473973 | 1926.476712 | NADWIŚLANIN | KPBC | hlstorja znana w okresie piramid, jak wlaśclcl... | 1926.475342 | [o, szynki, got, nie, rowy, wynikuwymierzonego... |
2 | 2013.961644 | 2013.964384 | SĄD APELACYJNY W ŁODZI I WYDZIAŁ CYWILNY | SAOS | działek. Idąc dalej w swych hipotetycznych roz... | 2013.963014 | [o, zrealizowania, a, życiowego, uwagę, wiadom... |
3 | 1925.000000 | 1926.000000 | GAZETA BANKOWA | eBUW | w Warszawie o stosunkach domowych dziatwy szko... | 1925.500000 | [o, obszerna, uwzględnia, handel, idinia, praw... |
4 | 1981.000000 | 1982.000000 | CIA | ZBC | \\\\'iykład: "Cywilizacyjna Koncepcja dziejów ¥e... | 1981.500000 | [o, marazynu, ouiedlowym, nie, dijjliot, ti, w... |
... | ... | ... | ... | ... | ... | ... | ... |
107458 | 2013.057534 | 2013.060274 | SĄD REJONOWY DLA WROCŁAWIA-ŚRÓDMIEŚCIA WE WROC... | SAOS | M. (2) na rzecz powoda M. S. kwotę 5003,66 zł ... | 2013.058904 | [uzasadnieniu, o, a, gdyby, kwotę, skład, zast... |
107459 | 2013.021918 | 2013.024658 | WYROK W SPRAWIE KIO | SAOS | Zintegrowanego Systemu Informatycznego (ZSI), ... | 2013.023288 | [o, lit, a, ingerencji, uwagę, zastrzeżeniem, ... |
107460 | 2013.920548 | 2013.923288 | SĄD OKRĘGOWY W PIOTRKOWIE TRYBUNALSKIM IV WYDZ... | SAOS | prokurator. Wyrokowi temu powołując się na prz... | 2013.921918 | [o, uzasadnieniu, odmiennego, zarówno, a, życi... |
107461 | 2013.082192 | 2013.084931 | SĄD REJONOWY W JELENIEJ GÓRZE I WYDZIAŁ CYWILNY | SAOS | 07 lipca 2010 r. świadczą o tym, że nie wszyst... | 2013.083562 | [o, który, roboty, wszystkie, a, wspólnotę, bu... |
107462 | 2013.098630 | 2013.101370 | SĄD OKRĘGOWY W ELBLĄGU I WYDZIAŁ CYWILNY | SAOS | zatem niezdolności do pracy było schorzenie sa... | 2013.100000 | [o, który, nieszczęśliwy, uzasadnieniu, a, mia... |
107463 rows × 7 columns
tokenized = df['tokenized'].values
vect = TfidfVectorizer()
x_train_vect = vect.fit_transform(df[4])
reg = LinearRegression().fit(x_train_vect, df['mean'])
import pickle
filename = 'finalized_model.sav'
pickle.dump(reg, open(filename, 'wb'))
x_test = pd.read_csv('./dev-1/in.tsv', header=None, sep='\t')
x_test
0 | |
---|---|
0 | potoku Brodawka swe- o an13.gonistt:, Zd7islaw... |
1 | Zll zgrazę .wi.la Okropne d.,.,je przyniósł na... |
2 | działalność wielu placówek kul nie naj istotni... |
3 | po przeglosie warianty s' z', stawszy sit) fon... |
4 | <a i naturaL n ll c h warunk6w, jest gł6umJ(m ... |
... | ... |
11557 | mOlna było nie tylko zobaczyc sylwetkę auta, a... |
11558 | musi bye i bt'd7ie naszI!! Krolestwo Polskie. ... |
11559 | Rzeszy a nawet z P()II- moina %Q,dac jcdunie p... |
11560 | zatopionych okret6w podejrnowano juz dawnlej, ... |
11561 | lista szczęśliwców: Nagrodę główną superzestaw... |
11562 rows × 1 columns
y_test = pd.read_csv('./dev-1/expected.tsv', header=None, sep='\t')
y_test
0 | |
---|---|
0 | 1983.500000 |
1 | 1956.500000 |
2 | 1958.105479 |
3 | 1973.500000 |
4 | 1970.883562 |
... | ... |
11558 | 2000.500000 |
11559 | 1906.500000 |
11560 | 1937.500000 |
11561 | 1928.500000 |
11562 | 1997.500000 |
11563 rows × 1 columns
x_test_vect = vect.transform(x_test[0])
x_test_vect.shape
(11562, 4401862)
y_pred = reg.predict(x_test_vect)
len(y_pred)
11562
from sklearn.metrics import mean_squared_error
len(y_test[0:11562])
11562
mean_squared_error(y_test[0:11562], y_pred, squared=False)
42.68002861698133
x_test_dev0 = pd.read_csv('./dev-0/in.tsv', header=None, sep='\t')
y_test_dev0 = pd.read_csv('./dev-0/expected.tsv', header=None, sep='\t')
x_test_dev0_vect = vect.transform(x_test_dev0[0])
y_pred_dev_0 = reg.predict(x_test_dev0_vect)
len(y_pred_dev_0)
19998
len(y_test_dev0)
20000
mean_squared_error(y_test_dev0[0:19998], y_pred_dev_0, squared=False)
66.03561497032095
pd.DataFrame(y_pred_dev_0).to_csv('./dev-0/out.tsv', header=None, sep='\t', index=False)
pd.DataFrame(y_pred).to_csv('./dev-1/out.tsv', header=None, sep='\t', index=False)