petite-difference-challenge2/train/run.py
Adrian Charkiewicz 6059bfb4a7 one too many row
2022-04-27 01:24:42 +02:00

88 lines
1.6 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[158]:
male={'silnik', 'windows', 'gb', 'mb', 'mecz', 'pc', 'opony', 'apple', 'iphone', 'zwiastuny', 'hd', 'ubuntu', 'system', 'serwer', 'piłka', 'metal'}
female={'ciąża', 'miesiączki', 'ciasto', 'ciąże', 'zadowolona', 'antykoncepcyjne', 'ginekologia', 'tabletki', 'porodzie', 'mąż', 'krwawienie', 'ciasta', 'narzeczony', 'ślub'}
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))))
doc_mean = sum(map(len, trimmed_docs))/float(len(trimmed_docs))
# In[161]:
#print(doc_mean)
answers=[]
for i in range(len(male_or_female)):
if male_or_female[i][0]>male_or_female[i][1]:
answers.append(1)
elif male_or_female[i][0]<male_or_female[i][1]:
answers.append(0)
else:
if len(trimmed_docs[i]) < doc_mean:
answers.append(0)
else:
answers.append(1)
# In[162]:
"""
result=[]
for i in range(len(answers)):
if answers[i]==expected[i]:
result.append(1)
else:
result.append(0)
"""
df = pd.Series(answers)
df.to_csv('out.tsv', sep = '\t', index=False, header=False)