import csv import pandas as pd from sklearn.linear_model import LinearRegression from sklearn.pipeline import make_pipeline from sklearn.feature_extraction.text import TfidfVectorizer from stop_words import get_stop_words col_names = ['start_date', 'end_date', 'title', 'source', 'content'] train_set = pd.read_table('train/train.tsv.xz', error_bad_lines=False, header=None, names=col_names) dev_set = pd.read_table('dev-0/in.tsv', error_bad_lines=False, header=None, names=col_names[4:], quoting=csv.QUOTE_NONE,) test_set = pd.read_table('test-A/in.tsv', error_bad_lines=False, header=None, names=col_names[4:], quoting=csv.QUOTE_NONE,) X_train = train_set['content'] y_train = (train_set['start_date'] + train_set['end_date']) / 2 X_dev = dev_set['content'] X_test = test_set['content'] print('Trenowanie modelu...') model = make_pipeline(TfidfVectorizer(stop_words=get_stop_words('polish')), LinearRegression()) model.fit(X_train, y_train) print('Predykcje...') dev_prediction = model.predict(X_dev) test_prediction = model.predict(X_test) dev_prediction.tofile('./dev-0/out.tsv', sep='\n') test_prediction.tofile('./test-A/out.tsv', sep='\n')