retroc2/.ipynb_checkpoints/retroc2-checkpoint.ipynb
2022-05-17 22:07:26 +02:00

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)