paranormal-or-skeptic-ISI-p.../bayess.ipynb

3.5 KiB

from sklearn.pipeline import make_pipeline
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
import pandas as pd
import csv
import numpy as np
from sklearn.preprocessing import LabelEncoder
steps = make_pipeline(TfidfVectorizer(),MultinomialNB())
#training
all_train_data_in = pd.read_csv('train/in.tsv.xz', compression='xz', header=None, error_bad_lines=False, quoting=csv.QUOTE_NONE, sep='\t')
train_data_ex = pd.read_csv('train/expected.tsv', header=None, error_bad_lines=False, quoting=csv.QUOTE_NONE, sep='\t')
train_data_in = []
for value in all_train_data_in.values:
    temp = ""
    for el in value:
        if(temp == ""):
            temp = str(el)
        else:
            temp += '\t' + str(el)
    train_data_in.append(temp)
    
nb=steps.fit(train_data_in, LabelEncoder().fit_transform(train_data_ex.values))
/home/ubuntu/anaconda3/lib/python3.8/site-packages/sklearn/utils/validation.py:73: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
  return f(**kwargs)
#dev0
all_dev0_data = pd.read_csv('dev-0/in.tsv.xz', compression='xz', header=None, quoting=csv.QUOTE_NONE, sep='\t')
dev0_data = []
for value in all_dev0_data.values:
    temp = ""
    for el in value:
        if(temp == ""):
            temp = str(el)
        else:
            temp += '\t' + str(el)
    dev0_data.append(temp)


dev0_y = nb.predict(dev0_data)

#zapis wyników
dev0_y.tofile('dev-0/out.tsv', sep='\n')
#test-A
all_testA_data = pd.read_csv('test-A/in.tsv.xz', compression='xz', header=None, quoting=csv.QUOTE_NONE, sep='\t')
testA_data = []
for value in all_testA_data.values:
    temp = ""
    for el in value:
        if(temp == ""):
            temp = str(el)
        else:
            temp += '\t' + str(el)
    testA_data.append(temp)


testA_y = nb.predict(testA_data)

#zapis wyników
testA_y.tofile('test-A/out.tsv', sep='\n')