retroc2/run.py

51 lines
1.2 KiB
Python

import lzma
import math
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import make_pipeline
from sklearn.metrics import mean_squared_error
import pandas as pd
X_train = []
Y_train = []
stop = 0
with lzma.open('train/train.tsv.xz', 'rt', encoding="utf-8") as f:
data = pd.read_csv(f, sep='\t', names=['Begin', 'End', 'Text'])
data = data[['Text', 'End']]
data = data[0:50000]
X = data['Text']
y = data['End']
model = make_pipeline(TfidfVectorizer(), LinearRegression())
model.fit(X, y)
def readFile(filename):
X_dev = []
with open(filename, 'r', encoding="utf-8") as dev_in:
for line in dev_in:
text = line.split("\t")[0].strip()
X_dev.append(text)
return X_dev
def writePred(filename, predictions):
with open(filename, "w") as out_file:
for pred in predictions:
out_file.write(str(pred) + "\n")
x = readFile('dev-0/in.tsv')
pred = model.predict(x)
writePred('dev-0/out.tsv',pred)
x = readFile('dev-1/in.tsv')
pred = model.predict(x)
writePred('dev-1/out.tsv',pred)
x = readFile('test-A/in.tsv')
pred = model.predict(x)
writePred('test-A/out.tsv',pred)