petite-difference-challenge2/dev-0/model.py
Adrian Charkiewicz dc70173122 51% .py
2022-04-13 17:18:35 +02:00

92 lines
1.4 KiB
Python

#!/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')