retroc2/run.py

39 lines
1.1 KiB
Python

import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.feature_extraction.text import TfidfVectorizer
def linear_regression(train_path, predict_path, out_path):
print("Wczytywanie zbioru treningowego")
train = pd.read_csv(train_path, sep='\t', header=None)
X_train = train[4]
Y_train = train[0]
print("Wczytywanie pliku do predykcji")
pred_x = []
with open(predict_path, encoding='utf-8') as f:
for line in f:
pred_x.append(line)
print("Wektoryzacja")
vectorizer = TfidfVectorizer()
X_train = vectorizer.fit_transform(X_train)
pred_x = vectorizer.transform(pred_x)
print("Uczenie modelu")
model = LinearRegression()
model.fit(X_train, Y_train)
print("Predykcja wyników")
pred_y = model.predict(pred_x)
print("Zapis do pliku")
pd.DataFrame(pred_y).to_csv(out_path, header=False, index=None)
linear_regression("train/train.tsv", "dev-0/in.tsv", "dev-0/out.tsv")
linear_regression("train/train.tsv", "dev-1/in.tsv", "dev-1/out.tsv")
linear_regression("train/train.tsv", "test-A/in.tsv", "test-A/out.tsv")