diff --git a/main.py b/main.py index e0ba702..36b9314 100644 --- a/main.py +++ b/main.py @@ -1,16 +1,36 @@ +''' +Autor: Dominik Strzałko +Data: 05.08.2021 +Zadanie: naiwny bayes2 gotowa biblioteka (Skeptic vs paranormal subreddits) +''' import numpy as np from sklearn.preprocessing import LabelEncoder from sklearn.naive_bayes import MultinomialNB from sklearn.pipeline import make_pipeline from sklearn.feature_extraction.text import TfidfVectorizer +def open_tsv(tsv): + ''' + Funkcja do zamiany plików tsv jako listy linii tekstu. + + Na wejście potrzebuje ścieżkę do pliku .tsv + + np. X = open_tsv("train/expected.tsv") + ''' + with open(tsv) as f: + return f.readlines() + def Create_model(X_tsv, Y_tsv): + ''' + Funkcja przeznaczona do tworzenia modelu uczenia maszynowego. + + Na wejście trzeba podać zbiór X_train oraz Y_train w formie plików tsv. - with open(X_tsv) as f: - X = f.readlines() + np. model = Create_model("train/in.tsv", "train/expected.tsv") + ''' - with open(Y_tsv) as f: - Y = f.readlines() + X = open_tsv(X_tsv) + Y = open_tsv(Y_tsv) Y = LabelEncoder().fit_transform(Y) pipeline = make_pipeline(TfidfVectorizer(),MultinomialNB()) @@ -19,9 +39,12 @@ def Create_model(X_tsv, Y_tsv): def predict(model, X_tsv, file_name): + ''' + Funkcja przeznaczona do predykcji wyników na podstawie modelu oraz zbiory X. trzecim argumentem w funkcji jest nazwa pliku z predykcjami, do zapisania na dysku. - with open(X_tsv) as f: - X = f.readlines() + np. predict(model, "dev-0/in.tsv", "dev-0/out.tsv") + ''' + X = open_tsv(X_tsv) prediction = model.predict(X) np.savetxt(file_name, prediction, fmt='%d')