Merge branch 'main' of https://git.wmi.amu.edu.pl/s452639/psi into main
This commit is contained in:
commit
49c023d1ea
@ -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.
|
@ -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()
|
Loading…
Reference in New Issue
Block a user