forked from kubapok/retroc2
7.8 KiB
7.8 KiB
import os
import sklearn
import pandas as pd
from gzip import open as open_gz
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.pipeline import make_pipeline
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
def predict_year(x, path_out, model):
results = model.predict(x)
with open(path_out, 'wt') as file:
for r in results:
#if r%1==0:
# r = r+0,5
file.write(str(r) + '\n')
with open('train.tsv', 'r', encoding='utf8') as file:
train = pd.read_csv(file, sep='\t', names=['Begin', 'End', 'Title', 'Publisher', 'Text'])
#with open('train/train.tsv', 'r', encoding='utf8') as file:
# train = pd.read_csv(file, sep='\t', names=['Begin', 'End', 'Title', 'Publisher', 'Text'])
train = train[0:2000]
train_x=train['Text']
train_y=train['Begin']
train_x
0 nowią część kultury. U nas już nikt ich nie ch... 1 hlstorja znana w okresie piramid, jak wlaśclcl... 2 działek. Idąc dalej w swych hipotetycznych roz... 3 w Warszawie o stosunkach domowych dziatwy szko... 4 \\\\'iykład: "Cywilizacyjna Koncepcja dziejów ¥e... ... 1995 i' padną dobitne rozkazy. Od modlitwy nie poni... 1996 WOJEWÖDZKI roz. 28 N'r. 7 III. IW slüsUlnlku d... 1997 główną wagę kłaść należy na wspomniane w Bibli... 1998 dniu 1'3 tym marca rozchwytywali broil z miejs... 1999 ubezpieczenie społeczne, po rozpoznaniu na pos... Name: Text, Length: 2000, dtype: object
model = make_pipeline(TfidfVectorizer(), LinearRegression())
model.fit(train_x, train_y)
Pipeline(memory=None, steps=[('tfidfvectorizer', TfidfVectorizer(analyzer='word', binary=False, decode_error='strict', dtype=<class 'numpy.float64'>, encoding='utf-8', input='content', lowercase=True, max_df=1.0, max_features=None, min_df=1, ngram_range=(1, 1), norm='l2', preprocessor=None, smooth...ression', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False))])
with open('devin.tsv', 'r', encoding='utf8') as file:
x_dev = pd.read_csv(file, header=None, sep='\t')
x_dev = x_dev[0]
x_dev
0 Gazet, a tam o osobie zamformuie się. Uwiadomi... 1 materiały, która wyniesie na rok w przybliżeni... 2 były nawet w posiadaniu miejscowego polskiego ... 3 Usuwanie nawarstwień... 105 powania nieudowodn... 4 nie słyszał odC .S' źnniefAle'ObJ—A." "hOdZI Ś... ... 19993 wypoczęci! wzmocnieni, pełni najiepszych chęci... 19994 ten krok draltyczny, ahby na tirazniejllzej je... 19995 47 ust. 1 pkt 2 tej ustawy, obowiązkiem nałożo... 19996 w, mmm ”w" w „|. ..no-ń r. .I. Lennobrovi jako... 19997 lat, przy czym za kolejny rok wnoszona jest do... Name: 0, Length: 19998, dtype: object
predict_year(x_dev, 'devout.tsv', model)
y_dev = pd.read_csv('devout.tsv',header = None, sep = '/t',engine = 'python')
y_dev = y_dev[0]
y_dev
0 1862.531349 1 1962.791429 2 1950.953131 3 1965.496217 4 1920.848072 ... 19993 1914.228771 19994 1902.264257 19995 2009.252595 19996 1918.643586 19997 1963.890277 Name: 0, Length: 19998, dtype: float64
y_dev_exp = pd.read_csv('expected.tsv',header = None, sep = '/t',engine = 'python')
y_dev_exp = y_dev_exp[0:19998]
y_dev_exp = y_dev_exp[0]
RMSE_dev = mean_squared_error(y_dev_exp, y_dev)
RMSE_dev
3631.1358243407444
x_dev = pd.read_csv('dev-0/in.tsv',header = None, sep = '/t',engine = 'python')
x_dev = x_dev[0]
x_dev = pd.read_csv('dev-1/in.tsv',header = None, sep = '/t',engine = 'python')
x_dev = x_dev[0]
x_test = pd.read_csv('test-A/in.tsv',header = None, sep = '/t',engine = 'python')
x_test = x_test[0]
#evaluation(x_dev,'dev-0/out.tsv', model)
#evaluation(x_test,'test-A/out.tsv', model)