This commit is contained in:
s452693 2021-05-24 14:06:26 +02:00
commit 49c023d1ea
2 changed files with 64 additions and 15 deletions

View File

@ -2,11 +2,11 @@ nazwa termin_przydatnosci stopien_uszkodzenia typ_zywnosci rekreacja rodzaj_spor
homeSecurity wieczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom gabarytowa
homeSecurity wieczny drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy dom gabarytowa
hotdog roczny brak_uszkodzen gotowe nie_dotyczy nie_dotyczy kuchnia standardowa
hotdog krótki brak_uszkodzen gotowe nie_dotyczy nie_dotyczy kuchnia przecena
hotdog krotki brak_uszkodzen gotowe nie_dotyczy nie_dotyczy kuchnia przecena
hotdog roczny drobne_uszkodzenia gotowe nie_dotyczy nie_dotyczy kuchnia przecena
icecream miesieczny brak_uszkodzen slodycze nie_dotyczy nie_dotyczy kuchnia lodowka
icecream krótki brak_uszkodzen slodycze nie_dotyczy nie_dotyczy kuchnia przecena
icecream krótki drobne_uszkodzenia slodycze nie_dotyczy nie_dotyczy kuchnia przecena
icecream krotki brak_uszkodzen slodycze nie_dotyczy nie_dotyczy kuchnia przecena
icecream krotki drobne_uszkodzenia slodycze nie_dotyczy nie_dotyczy kuchnia przecena
icecream roczny brak_uszkodzen slodycze nie_dotyczy nie_dotyczy kuchnia lodowka
icecream roczny drobne_uszkodzenia slodycze nie_dotyczy nie_dotyczy kuchnia przecena
insecticide roczny brak_uszkodzen nie_dotyczy aktywności_sezonowe nie_dotyczy nie_dotyczy standardowa
@ -14,11 +14,11 @@ insecticide miesieczny drobne_uszkodzenia nie_dotyczy aktywności_sezonowe n
insecticide miesieczny brak_uszkodzen nie_dotyczy aktywności_sezonowe nie_dotyczy nie_dotyczy przecena
insecticide roczny drobne_uszkodzenia nie_dotyczy aktywności_sezonowe nie_dotyczy nie_dotyczy przecena
jewelry wieczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom standardowa
jewelry wieczny drobne_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom standardowa
keyboard wieczny bez_uszkodzen nie_dotyczy muzyka nie_dotyczy nie_dotyczy wolnostojaca
jewelry wieczny drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy dom standardowa
keyboard wieczny brak_uszkodzen nie_dotyczy muzyka nie_dotyczy nie_dotyczy wolnostojaca
keyboard wieczny drobne_uszkodzenia nie_dotyczy muzyka nie_dotyczy nie_dotyczy wolnostojaca
keyboard wieczny powazne_uszkodzenia nie_dotyczy muzyka nie_dotyczy nie_dotyczy przecena
keyboard wieczny bez_uszkodzen nie_dotyczy muzyka nie_dotyczy nie_dotyczy gabarytowa
keyboard wieczny brak_uszkodzen nie_dotyczy muzyka nie_dotyczy nie_dotyczy gabarytowa
keyboard wieczny drobne_uszkodzenia nie_dotyczy muzyka nie_dotyczy nie_dotyczy gabarytowa
keyboard wieczny powazne_uszkodzenia nie_dotyczy muzyka nie_dotyczy nie_dotyczy gabarytowa
kitchenSupplies wieczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy kuchnia standardowa
@ -124,7 +124,7 @@ beer miesieczny brak_uszkodzen napoje nie_dotyczy nie_dotyczy kuchnia standardow
beer miesieczny drobne_uszkodzenia napoje nie_dotyczy nie_dotyczy kuchnia przecena
beer krotki brak_uszkodzen napoje nie_dotyczy nie_dotyczy kuchnia przecena
beer krotki drobne_uszkodzenia napoje nie_dotyczy nie_dotyczy kuchnia przecena
cake krotki brak_uszodzen gotowe nie_dotyczy nie_dotyczy kuchnia lodowka
cake krotki brak_uszkodzen gotowe nie_dotyczy nie_dotyczy kuchnia lodowka
cake krotki drobne_uszkodzenia gotowe nie_dotyczy nie_dotyczy kuchnia lodowka
calculator wieczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy biurowe standardowa
calculator wieczny drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy biurowe standardowa
@ -156,8 +156,8 @@ chair wieczny powazne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy dom przece
chair wieczny rozebrac_na_czesci nie_dotyczy nie_dotyczy nie_dotyczy dom przecena
chair wieczny rozebrac_na_czesci nie_dotyczy nie_dotyczy nie_dotyczy kuchnia przecena
chair wieczny rozebrac_na_czesci nie_dotyczy nie_dotyczy nie_dotyczy biurowe przecena
cookie krotki brak_uszkodzen slodycze nie_dotyczy nie_dotyczy kuchnia standard
cookie krotki brak_uszkodzen slodycze nie_dotyczy nie_dotyczny kuchnia przecena
cookie krotki brak_uszkodzen slodycze nie_dotyczy nie_dotyczy kuchnia standardowa
cookie krotki brak_uszkodzen slodycze nie_dotyczy nie_dotyczy kuchnia przecena
cookie krotki drobne_uszkodzenia slodycze nie_dotyczy nie_dotyczy kuchnia przecena
cleaningSupplies kilkuletni brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom standardowa
cleaningSupplies kilkuletni drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy dom przecena
@ -185,8 +185,8 @@ fish krotki brak_uszkodzen odzwierzece nie_dotyczy nie_dotyczy kuchnia lodowka
hamburger krotki brak_uszkodzen gotowe nie_dotyczy nie_dotyczy kuchnia lodowka
toys wieczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy kids standardowa
toys wieczny drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy kids przecena
toys kilkuletni brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy kids stnadardowa
toys kilkuletni drobne_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy kids przecena
toys kilkuletni brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy kids standardowa
toys kilkuletni drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy kids przecena
toys roczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy kids standardowa
toys roczny drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy kids przecena
toys miesieczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy kids standardowa
@ -195,8 +195,8 @@ toys krotki brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy kids standardowa
toys krotki drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy kids przecena
tools wieczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom standardowa
tools wieczny drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy dom przecena
tools kilkuletni brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom stnadardowa
tools kilkuletni drobne_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom przecena
tools kilkuletni brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom standardowa
tools kilkuletni drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy dom przecena
tools roczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom standardowa
tools roczny drobne_uszkodzenia nie_dotyczy nie_dotyczy nie_dotyczy dom przecena
tools miesieczny brak_uszkodzen nie_dotyczy nie_dotyczy nie_dotyczy dom standardowa

Can't render this file because it has a wrong number of fields in line 4.

View File

@ -1,10 +1,59 @@
#!/usr/bin/python3
from sklearn import tree
from pprint import PrettyPrinter
pp = PrettyPrinter(indent=2, compact=True)
def p(*args, **kwargs):
pp.pprint(*args, **kwargs)
def invoke_consume_exceptions(function, *args, **kwargs):
try:
return function(*args, **kwargs)
except:
return None
def read_tsv_from(filename):
from csv import reader
with open(filename, 'r') as f:
header, *rows = list(reader(f, delimiter='\t'))
return [dict(zip(header, row)) for row in rows]
return [dict(zip(header, (el.strip() for el in row))) for row in rows]
print(read_tsv_from('./data.tsv'))
def main():
from sys import argv
import os
import pathlib
source_file = argv[1]
invoke_consume_exceptions(os.mkdir, os.path.dirname(source_file))
data = read_tsv_from(source_file)
types = dict()
for row in data:
for (key, value) in row.items():
if key != "nazwa":
v = types.get(key, set())
v.add(value)
types[key] = v
base = dict(
(key, list(zip(sorted(values), range(1000))))
for (key, values) in types.items()
)
t2n = dict((key, dict(v)) for (key, v) in base.items())
n2t = dict((key, dict((b, a) for (a, b) in v)) for (key, v) in base.items())
X = [[
t2n[name][feature]
for (name, feature) in sample.items()
if name not in ['nazwa', 'polka']] for sample in data if 'polka' in sample]
Y = [t2n['polka'][sample['polka']] for sample in data if 'polka' in sample]
clf = tree.DecisionTreeClassifier()
clf.fit(X, Y)
l = clf.get_n_leaves()
d = clf.get_depth()
print(f'Leaves: {l}\nDepth: {d}')
if __name__ == '__main__':
main()