retroc2/main.py
2021-05-12 22:46:20 +02:00

29 lines
1.1 KiB
Python

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
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(), 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')