92 lines
1.4 KiB
Python
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')
|
||
|
|