#!/usr/bin/env python # coding: utf-8 # In[90]: import pandas as pd import csv # In[91]: tsv_data = pd.read_csv('in.tsv', sep='\t',header=None, quoting=csv.QUOTE_NONE)[0] # In[139]: expected = pd.read_csv('expected.tsv', sep='\t',header=None)[0] # In[94]: print(len(expected)) print(len(tsv_data)) # In[158]: male={'silnik', 'windows', 'gb', 'mb', 'mecz', 'pc', 'opony', 'apple', 'iphone', 'zwiastuny', 'hd', 'ubuntu', 'system', 'serwer'} female={'ciąża', 'miesiączki', 'ciasto', 'ciąże', 'zadowolona', 'antykoncepcyjne', 'ginekologia', 'tabletki', 'porodzie', 'mąż', 'krwawienie', 'ciasta'} male = {x[:6].lower() for x in male} female = {x[:6].lower() for x in female} # In[159]: trimmed_docs=[] for document in tsv_data: new_doc=[] for word in str(document).lower().split(): new_doc.append(word[:6]) trimmed_docs.append(new_doc) # In[160]: male_or_female=[] for doc in trimmed_docs: male_or_female.append((len(male&set(doc)), len(female&set(doc)))) # In[161]: answers=[] for i in male_or_female: if i[0]>i[1]: answers.append(1) else: answers.append(0) # In[162]: result=[] for i in range(len(answers)): if answers[i]==expected[i]: result.append(1) else: result.append(0) # In[163]: print(f'Predykcja modelu wynosi {sum(result)/len(result)*100:.6f}%') # In[167]: df = pd.DataFrame(result) df.to_csv('out.tsv', sep = '\t')