From b9fee0a48013ae6c91af4a1291847690196da166 Mon Sep 17 00:00:00 2001 From: Zuzanna Myszczuk Date: Wed, 24 May 2023 18:26:25 +0200 Subject: [PATCH] ID3 - drzewo decyzyjne --- .vs/ProjectSettings.json | 3 + .vs/VSWorkspaceState.json | 8 + ...932e7295-1b72-4163-8716-67371df6bc0a.vsidx | Bin 0 -> 1956 bytes ...e014f341-c2dd-4289-82d9-b91273c387bb.vsidx | Bin 0 -> 8779 bytes ...e776b07b-5553-424a-8a42-ff038815e278.vsidx | Bin 0 -> 45065 bytes ...f6b90cde-070b-41a2-93a4-7f6525e99ab6.vsidx | Bin 0 -> 3695 bytes .../FileContentIndex/read.lock | 0 .vs/inteligentny-traktor/v17/.wsuo | Bin 0 -> 34816 bytes .vs/slnx.sqlite | Bin 0 -> 90112 bytes decisionTree/database.txt | 200 ++++++++++++++++++ decisionTree/decisionTree.sav | Bin 0 -> 2601 bytes decisionTree/decissions.txt | 200 ++++++++++++++++++ decisionTree/generator.py | 21 ++ decisionTree/learning_set.txt | 200 ++++++++++++++++++ decisionTree/treemaker.py | 76 +++++++ 15 files changed, 708 insertions(+) create mode 100644 .vs/ProjectSettings.json create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/inteligentny-traktor/FileContentIndex/932e7295-1b72-4163-8716-67371df6bc0a.vsidx create mode 100644 .vs/inteligentny-traktor/FileContentIndex/e014f341-c2dd-4289-82d9-b91273c387bb.vsidx create mode 100644 .vs/inteligentny-traktor/FileContentIndex/e776b07b-5553-424a-8a42-ff038815e278.vsidx create mode 100644 .vs/inteligentny-traktor/FileContentIndex/f6b90cde-070b-41a2-93a4-7f6525e99ab6.vsidx create mode 100644 .vs/inteligentny-traktor/FileContentIndex/read.lock create mode 100644 .vs/inteligentny-traktor/v17/.wsuo create mode 100644 .vs/slnx.sqlite create mode 100644 decisionTree/database.txt create mode 100644 decisionTree/decisionTree.sav create mode 100644 decisionTree/decissions.txt create mode 100644 decisionTree/generator.py create mode 100644 decisionTree/learning_set.txt create mode 100644 decisionTree/treemaker.py diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..8c12b97 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,8 @@ +{ + "ExpandedNodes": [ + "", + "\\decisionTree" + ], + "SelectedNode": "\\decisionTree\\decisionTree.sav", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/inteligentny-traktor/FileContentIndex/932e7295-1b72-4163-8716-67371df6bc0a.vsidx b/.vs/inteligentny-traktor/FileContentIndex/932e7295-1b72-4163-8716-67371df6bc0a.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..ad7ab7fa1b69621fbdd14a8c88f97ffcaf573db5 GIT binary patch literal 1956 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 literal 0 HcmV?d00001 diff --git a/.vs/inteligentny-traktor/FileContentIndex/f6b90cde-070b-41a2-93a4-7f6525e99ab6.vsidx b/.vs/inteligentny-traktor/FileContentIndex/f6b90cde-070b-41a2-93a4-7f6525e99ab6.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..78a1c0f8be5c23f86776fd615c4325a4be7e7fc4 GIT binary patch literal 3695 zcmbu<*>@C06bIlS#03{X!3}rO>ekSiNz}x+(dn*CYSO9hbk{f;k~koY7=Z+npb+&F@S@4sYJW^jFn&tL~jjfCVXvCDhkik{6~tJf&{Gs`MKM-%-44;#Q7CkZwoWnD<+|Oj>-YM8 zq+|8pt2zH1LKBH6#6EVK`8q|RSM%l z=@g~YC7o{RNa;k<8IhimURAc+EF}XYWxE{6q;{kZrIs@FWg5%Om6<2A9%(9aSjl=M z>yD10o5#X=sTH8X6jk3 zYDAlHdyL;}q+{fOk#(bN3-*YLsibDun0i=|Jr(;XwW_4LD%`5CtFm0}S5;-IsTx+< zuo1POzgG2Y^#qg>?@U{-F}2>7^0w`4X<0VA>finL%)jYnvvKqs{GQRfMjv|JNP6E$dKbx7 zNLy)s6r?j~ehgd;kF`>ew0;~-Y>+fR9^#d6A?f}SxYSB?*3YJi4U*>Pz;oew@O-!mUH~tI!b(BXISzE;Met%P z1xa~ra5eO-6bDOr?e;?!U=en}PI!rxf~5RQX<~z<`DL&RcEihI54-|iX{8`(|5fm6 zcnw?web@^F7(xmAUB+0u?=h53h$CtP~{G-v}G<2Dk~{2*=?~a5LNjx55cH3Ae$UtrR5Hor2SF25yJ9z+2%C zX#dRc{#ke%ydB;F?}T^3yWu_XUU(n8A3k8EAgRv>;Y09Y_y~LyJ_a9$yWkU63X;xy z52 zK~nyE@O}6J{1AQwKZbkZC-77F8T=gXgZtqZ@Jsj={2G1(zlGny@8JRX1N_lSLDKj5 z3H}U!fxlWQNXq*S{to|KXa_c0?T6OaG%pE___CBn^DYYxUFB_y=w5{`JmtN7k4Jou zPvN~h%I_U+6gKPTtIO%$P_u?_k3FYyH7xLtMI`3poS$62Qym8*f7w#aT zJl?^lkKlk=3kE+^+b=hgCd^BVao7c%r*c$JfRl^3`WPxC@N;!D12=m5_1 rnr;BV@ literal 0 HcmV?d00001 diff --git a/.vs/inteligentny-traktor/FileContentIndex/read.lock b/.vs/inteligentny-traktor/FileContentIndex/read.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/inteligentny-traktor/v17/.wsuo b/.vs/inteligentny-traktor/v17/.wsuo new file mode 100644 index 0000000000000000000000000000000000000000..c2391c0f3e9b7559f709d1f5b2682108819aed42 GIT binary patch literal 34816 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 HIf4HLoQgT% literal 0 HcmV?d00001 diff --git a/decisionTree/database.txt b/decisionTree/database.txt new file mode 100644 index 0000000..c8803d8 --- /dev/null +++ b/decisionTree/database.txt @@ -0,0 +1,200 @@ +11100101 +11011110 +00001101 +11101002 +11111000 +11101013 +00100102 +00000001 +10011002 +01011000 +01111112 +00010113 +10111011 +00111000 +10010002 +01011100 +00110001 +11001000 +11011103 +01100002 +01110011 +11101113 +10110101 +01010113 +11101111 +11000013 +01001011 +10101111 +01110112 +10000001 +00110000 +10000112 +01111013 +10100012 +11010100 +11001011 +10001002 +01001103 +00011110 +10101102 +01111102 +01000111 +01000010 +00110002 +11111010 +11101000 +11000100 +01010100 +01001112 +00101011 +11101010 +00010011 +01001113 +01001002 +01101111 +11100102 +11111112 +00111001 +11110111 +11011112 +10001101 +11100001 +10101101 +00111110 +00101112 +11100111 +00100002 +01011103 +10111100 +00100100 +00001010 +00001012 +10100102 +00001013 +01011003 +11111102 +00011000 +00101013 +10111103 +10100010 +11111003 +11000000 +01100101 +10010101 +10011101 +10101000 +01100000 +00111103 +11000011 +10010012 +00111003 +01001010 +10101003 +00010003 +10000102 +10110113 +00011013 +01011012 +01100112 +10010111 +01110100 +00110113 +10000012 +01100010 +01100100 +00110010 +00110102 +10100003 +10000111 +11010103 +11011012 +01111100 +00000100 +11100113 +11101103 +10111003 +00110101 +00011100 +01100001 +11100011 +10110010 +01001102 +10101011 +10000002 +11100000 +11101102 +01110101 +01100102 +01001012 +11111101 +01110001 +11000010 +01010011 +01100004 +01000001 +11010112 +10110003 +00010012 +00001110 +01001100 +01001111 +11010003 +00000110 +00110112 +10110102 +01111002 +11110110 +11010111 +11111100 +10111013 +10001003 +11100003 +00110013 +10100103 +01010002 +00001100 +10001010 +00100110 +10110100 +10000011 +10101112 +11110003 +11011013 +10101110 +00001011 +10010112 +01100110 +01010112 +11011111 +01011001 +01101103 +10000010 +00110111 +01001110 +11001003 +11110002 +00111113 +00000112 +10100002 +10110002 +10001102 +10010000 +01111103 +00000012 +10000003 +00011103 +11000110 +11001002 +11010002 +01110012 +00100013 +00010103 +01110111 +10010113 +01010003 +11001110 +00011112 +00010101 +10100101 +01011101 diff --git a/decisionTree/decisionTree.sav b/decisionTree/decisionTree.sav new file mode 100644 index 0000000000000000000000000000000000000000..7bde163f47975cff7957dc7c57cc0f2afa6609cd GIT binary patch literal 2601 zcmb_e%WoS+7+*WDb(*A3LugPV2($+iDyyUvwGz@U3bcX&QxKxfX&JBAnWg(;cece6 zNUcO3NONP%U%-_kcb^IpNFXls(1XvMdaO7QzS*5|ybA~mF-rWK?=j!wH{Y&(ce;PR zs%49brbgA8Guxx@}#KsK)o93${3Z+ZpFGVq}5gQ^gS$ zS{Ohvw~z|yWG$aqa)vxjoc_;Eu9sE2UW(r8&o@KDhMqakH%QDQ`8{yytYOWfRxyaCRcjCS6K% za;V|?p#)}|gu+KxbITbFU{-^CmN+||KPpbgDp_b&H6mL`+vnshKppUHz&c<{TtxR@ zE&{EA=R0HvZ2(?}lMTRkLB6ohQ*;?sP#uP8#AWs9NV2A#%GuLqB<3(Qw1>amORjR` z`-0vz74ORhy%L7Thd(U7{?#{M8(66Xnm5fUDc2<`ITwe9{!4JHioP|P(w@ULb6UzL zCC(P?L*w(k-+nxO^1iWJ&|flDKgxfuV2A#)^}x^z`VCXfm%=~fM!F4@yW%gG9~mmX zil=zW?L*_i!TsNVzWLM0FW0Y6oUh22Zq{TW^Ac75Tzow0Pw|)Q>l5cI_jf|(S^C?2 zy1D+{$ME;iDA&0l{TC$`%navaM{?ekUCFxgmwrlCc7-aACjFKEpK#2M~p4M$A7Qgr4hs2A`t>zX_+s!`#Ss)$( literal 0 HcmV?d00001 diff --git a/decisionTree/decissions.txt b/decisionTree/decissions.txt new file mode 100644 index 0000000..e8e99b5 --- /dev/null +++ b/decisionTree/decissions.txt @@ -0,0 +1,200 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 \ No newline at end of file diff --git a/decisionTree/generator.py b/decisionTree/generator.py new file mode 100644 index 0000000..9681fe1 --- /dev/null +++ b/decisionTree/generator.py @@ -0,0 +1,21 @@ +import random + +# Generowanie unikalnej losowej linii tekstu +def generate_unique_line(existing_lines): + while True: + line = ''.join(random.choice(['0', '1']) for _ in range(7)) + last_digit = random.choice(['1', '2', '3', '0']) + line += last_digit + if line not in existing_lines: + return line + +# Generowanie 200 unikalnych linii tekstu +lines = [] +while len(lines) < 200: + line = generate_unique_line(lines) + lines.append(line) + +# Zapisywanie linii tekstu do pliku +with open('decisionTree/database.txt', 'w') as file: + for line in lines: + file.write(line + '\n') \ No newline at end of file diff --git a/decisionTree/learning_set.txt b/decisionTree/learning_set.txt new file mode 100644 index 0000000..a72df6c --- /dev/null +++ b/decisionTree/learning_set.txt @@ -0,0 +1,200 @@ +['rainy', 'planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'noon'] +['rainy', 'planted', 'bad', 'too strong', 'snow', 'moist', 'rot', 'morning'] +['clear', 'not planted', 'bad', 'good', 'snow', 'moist', 'healthy', 'noon'] +['rainy', 'planted', 'good', 'good', 'snow', 'dry', 'healthy', 'sunset'] +['rainy', 'planted', 'good', 'too strong', 'snow', 'dry', 'healthy', 'morning'] +['rainy', 'planted', 'good', 'good', 'snow', 'dry', 'rot', 'night'] +['clear', 'not planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'sunset'] +['clear', 'not planted', 'bad', 'good', 'no snow', 'dry', 'healthy', 'noon'] +['rainy', 'not planted', 'bad', 'too strong', 'snow', 'dry', 'healthy', 'sunset'] +['clear', 'planted', 'bad', 'too strong', 'snow', 'dry', 'healthy', 'morning'] +['clear', 'planted', 'good', 'too strong', 'snow', 'moist', 'rot', 'sunset'] +['clear', 'not planted', 'bad', 'too strong', 'no snow', 'moist', 'rot', 'night'] +['rainy', 'not planted', 'good', 'too strong', 'snow', 'dry', 'rot', 'noon'] +['clear', 'not planted', 'good', 'too strong', 'snow', 'dry', 'healthy', 'morning'] +['rainy', 'not planted', 'bad', 'too strong', 'no snow', 'dry', 'healthy', 'sunset'] +['clear', 'planted', 'bad', 'too strong', 'snow', 'moist', 'healthy', 'morning'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'dry', 'healthy', 'noon'] +['rainy', 'planted', 'bad', 'good', 'snow', 'dry', 'healthy', 'morning'] +['rainy', 'planted', 'bad', 'too strong', 'snow', 'moist', 'healthy', 'night'] +['clear', 'planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'sunset'] +['clear', 'planted', 'good', 'too strong', 'no snow', 'dry', 'rot', 'noon'] +['rainy', 'planted', 'good', 'good', 'snow', 'moist', 'rot', 'night'] +['rainy', 'not planted', 'good', 'too strong', 'no snow', 'moist', 'healthy', 'noon'] +['clear', 'planted', 'bad', 'too strong', 'no snow', 'moist', 'rot', 'night'] +['rainy', 'planted', 'good', 'good', 'snow', 'moist', 'rot', 'noon'] +['rainy', 'planted', 'bad', 'good', 'no snow', 'dry', 'rot', 'night'] +['clear', 'planted', 'bad', 'good', 'snow', 'dry', 'rot', 'noon'] +['rainy', 'not planted', 'good', 'good', 'snow', 'moist', 'rot', 'noon'] +['clear', 'planted', 'good', 'too strong', 'no snow', 'moist', 'rot', 'sunset'] +['rainy', 'not planted', 'bad', 'good', 'no snow', 'dry', 'healthy', 'noon'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'dry', 'healthy', 'morning'] +['rainy', 'not planted', 'bad', 'good', 'no snow', 'moist', 'rot', 'sunset'] +['clear', 'planted', 'good', 'too strong', 'snow', 'dry', 'rot', 'night'] +['rainy', 'not planted', 'good', 'good', 'no snow', 'dry', 'rot', 'sunset'] +['rainy', 'planted', 'bad', 'too strong', 'no snow', 'moist', 'healthy', 'morning'] +['rainy', 'planted', 'bad', 'good', 'snow', 'dry', 'rot', 'noon'] +['rainy', 'not planted', 'bad', 'good', 'snow', 'dry', 'healthy', 'sunset'] +['clear', 'planted', 'bad', 'good', 'snow', 'moist', 'healthy', 'night'] +['clear', 'not planted', 'bad', 'too strong', 'snow', 'moist', 'rot', 'morning'] +['rainy', 'not planted', 'good', 'good', 'snow', 'moist', 'healthy', 'sunset'] +['clear', 'planted', 'good', 'too strong', 'snow', 'moist', 'healthy', 'sunset'] +['clear', 'planted', 'bad', 'good', 'no snow', 'moist', 'rot', 'noon'] +['clear', 'planted', 'bad', 'good', 'no snow', 'dry', 'rot', 'morning'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'dry', 'healthy', 'sunset'] +['rainy', 'planted', 'good', 'too strong', 'snow', 'dry', 'rot', 'morning'] +['rainy', 'planted', 'good', 'good', 'snow', 'dry', 'healthy', 'morning'] +['rainy', 'planted', 'bad', 'good', 'no snow', 'moist', 'healthy', 'morning'] +['clear', 'planted', 'bad', 'too strong', 'no snow', 'moist', 'healthy', 'morning'] +['clear', 'planted', 'bad', 'good', 'snow', 'moist', 'rot', 'sunset'] +['clear', 'not planted', 'good', 'good', 'snow', 'dry', 'rot', 'noon'] +['rainy', 'planted', 'good', 'good', 'snow', 'dry', 'rot', 'morning'] +['clear', 'not planted', 'bad', 'too strong', 'no snow', 'dry', 'rot', 'noon'] +['clear', 'planted', 'bad', 'good', 'snow', 'moist', 'rot', 'night'] +['clear', 'planted', 'bad', 'good', 'snow', 'dry', 'healthy', 'sunset'] +['clear', 'planted', 'good', 'good', 'snow', 'moist', 'rot', 'noon'] +['rainy', 'planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'sunset'] +['rainy', 'planted', 'good', 'too strong', 'snow', 'moist', 'rot', 'sunset'] +['clear', 'not planted', 'good', 'too strong', 'snow', 'dry', 'healthy', 'noon'] +['rainy', 'planted', 'good', 'too strong', 'no snow', 'moist', 'rot', 'noon'] +['rainy', 'planted', 'bad', 'too strong', 'snow', 'moist', 'rot', 'sunset'] +['rainy', 'not planted', 'bad', 'good', 'snow', 'moist', 'healthy', 'noon'] +['rainy', 'planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'noon'] +['rainy', 'not planted', 'good', 'good', 'snow', 'moist', 'healthy', 'noon'] +['clear', 'not planted', 'good', 'too strong', 'snow', 'moist', 'rot', 'morning'] +['clear', 'not planted', 'good', 'good', 'snow', 'moist', 'rot', 'sunset'] +['rainy', 'planted', 'good', 'good', 'no snow', 'moist', 'rot', 'noon'] +['clear', 'not planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'sunset'] +['clear', 'planted', 'bad', 'too strong', 'snow', 'moist', 'healthy', 'night'] +['rainy', 'not planted', 'good', 'too strong', 'snow', 'moist', 'healthy', 'morning'] +['clear', 'not planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'morning'] +['clear', 'not planted', 'bad', 'good', 'snow', 'dry', 'rot', 'morning'] +['clear', 'not planted', 'bad', 'good', 'snow', 'dry', 'rot', 'sunset'] +['rainy', 'not planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'sunset'] +['clear', 'not planted', 'bad', 'good', 'snow', 'dry', 'rot', 'night'] +['clear', 'planted', 'bad', 'too strong', 'snow', 'dry', 'healthy', 'night'] +['rainy', 'planted', 'good', 'too strong', 'snow', 'moist', 'healthy', 'sunset'] +['clear', 'not planted', 'bad', 'too strong', 'snow', 'dry', 'healthy', 'morning'] +['clear', 'not planted', 'good', 'good', 'snow', 'dry', 'rot', 'night'] +['rainy', 'not planted', 'good', 'too strong', 'snow', 'moist', 'healthy', 'night'] +['rainy', 'not planted', 'good', 'good', 'no snow', 'dry', 'rot', 'morning'] +['rainy', 'planted', 'good', 'too strong', 'snow', 'dry', 'healthy', 'night'] +['rainy', 'planted', 'bad', 'good', 'no snow', 'dry', 'healthy', 'morning'] +['clear', 'planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'noon'] +['rainy', 'not planted', 'bad', 'too strong', 'no snow', 'moist', 'healthy', 'noon'] +['rainy', 'not planted', 'bad', 'too strong', 'snow', 'moist', 'healthy', 'noon'] +['rainy', 'not planted', 'good', 'good', 'snow', 'dry', 'healthy', 'morning'] +['clear', 'planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'morning'] +['clear', 'not planted', 'good', 'too strong', 'snow', 'moist', 'healthy', 'night'] +['rainy', 'planted', 'bad', 'good', 'no snow', 'dry', 'rot', 'noon'] +['rainy', 'not planted', 'bad', 'too strong', 'no snow', 'dry', 'rot', 'sunset'] +['clear', 'not planted', 'good', 'too strong', 'snow', 'dry', 'healthy', 'night'] +['clear', 'planted', 'bad', 'good', 'snow', 'dry', 'rot', 'morning'] +['rainy', 'not planted', 'good', 'good', 'snow', 'dry', 'healthy', 'night'] +['clear', 'not planted', 'bad', 'too strong', 'no snow', 'dry', 'healthy', 'night'] +['rainy', 'not planted', 'bad', 'good', 'no snow', 'moist', 'healthy', 'sunset'] +['rainy', 'not planted', 'good', 'too strong', 'no snow', 'moist', 'rot', 'night'] +['clear', 'not planted', 'bad', 'too strong', 'snow', 'dry', 'rot', 'night'] +['clear', 'planted', 'bad', 'too strong', 'snow', 'dry', 'rot', 'sunset'] +['clear', 'planted', 'good', 'good', 'no snow', 'moist', 'rot', 'sunset'] +['rainy', 'not planted', 'bad', 'too strong', 'no snow', 'moist', 'rot', 'noon'] +['clear', 'planted', 'good', 'too strong', 'no snow', 'moist', 'healthy', 'morning'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'moist', 'rot', 'night'] +['rainy', 'not planted', 'bad', 'good', 'no snow', 'dry', 'rot', 'sunset'] +['clear', 'planted', 'good', 'good', 'no snow', 'dry', 'rot', 'morning'] +['clear', 'planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'morning'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'dry', 'rot', 'morning'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'moist', 'healthy', 'sunset'] +['rainy', 'not planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'night'] +['rainy', 'not planted', 'bad', 'good', 'no snow', 'moist', 'rot', 'noon'] +['rainy', 'planted', 'bad', 'too strong', 'no snow', 'moist', 'healthy', 'night'] +['rainy', 'planted', 'bad', 'too strong', 'snow', 'dry', 'rot', 'sunset'] +['clear', 'planted', 'good', 'too strong', 'snow', 'moist', 'healthy', 'morning'] +['clear', 'not planted', 'bad', 'good', 'no snow', 'moist', 'healthy', 'morning'] +['rainy', 'planted', 'good', 'good', 'no snow', 'moist', 'rot', 'night'] +['rainy', 'planted', 'good', 'good', 'snow', 'moist', 'healthy', 'night'] +['rainy', 'not planted', 'good', 'too strong', 'snow', 'dry', 'healthy', 'night'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'moist', 'healthy', 'noon'] +['clear', 'not planted', 'bad', 'too strong', 'snow', 'moist', 'healthy', 'morning'] +['clear', 'planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'noon'] +['rainy', 'planted', 'good', 'good', 'no snow', 'dry', 'rot', 'noon'] +['rainy', 'not planted', 'good', 'too strong', 'no snow', 'dry', 'rot', 'morning'] +['clear', 'planted', 'bad', 'good', 'snow', 'moist', 'healthy', 'sunset'] +['rainy', 'not planted', 'good', 'good', 'snow', 'dry', 'rot', 'noon'] +['rainy', 'not planted', 'bad', 'good', 'no snow', 'dry', 'healthy', 'sunset'] +['rainy', 'planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'morning'] +['rainy', 'planted', 'good', 'good', 'snow', 'moist', 'healthy', 'sunset'] +['clear', 'planted', 'good', 'too strong', 'no snow', 'moist', 'healthy', 'noon'] +['clear', 'planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'sunset'] +['clear', 'planted', 'bad', 'good', 'snow', 'dry', 'rot', 'sunset'] +['rainy', 'planted', 'good', 'too strong', 'snow', 'moist', 'healthy', 'noon'] +['clear', 'planted', 'good', 'too strong', 'no snow', 'dry', 'healthy', 'noon'] +['rainy', 'planted', 'bad', 'good', 'no snow', 'dry', 'rot', 'morning'] +['clear', 'planted', 'bad', 'too strong', 'no snow', 'dry', 'rot', 'noon'] +['clear', 'planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'night'] +['clear', 'planted', 'bad', 'good', 'no snow', 'dry', 'healthy', 'noon'] +['rainy', 'planted', 'bad', 'too strong', 'no snow', 'moist', 'rot', 'sunset'] +['rainy', 'not planted', 'good', 'too strong', 'no snow', 'dry', 'healthy', 'night'] +['clear', 'not planted', 'bad', 'too strong', 'no snow', 'dry', 'rot', 'sunset'] +['clear', 'not planted', 'bad', 'good', 'snow', 'moist', 'rot', 'morning'] +['clear', 'planted', 'bad', 'good', 'snow', 'moist', 'healthy', 'morning'] +['clear', 'planted', 'bad', 'good', 'snow', 'moist', 'rot', 'noon'] +['rainy', 'planted', 'bad', 'too strong', 'no snow', 'dry', 'healthy', 'night'] +['clear', 'not planted', 'bad', 'good', 'no snow', 'moist', 'rot', 'morning'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'moist', 'rot', 'sunset'] +['rainy', 'not planted', 'good', 'too strong', 'no snow', 'moist', 'healthy', 'sunset'] +['clear', 'planted', 'good', 'too strong', 'snow', 'dry', 'healthy', 'sunset'] +['rainy', 'planted', 'good', 'too strong', 'no snow', 'moist', 'rot', 'morning'] +['rainy', 'planted', 'bad', 'too strong', 'no snow', 'moist', 'rot', 'noon'] +['rainy', 'planted', 'good', 'too strong', 'snow', 'moist', 'healthy', 'morning'] +['rainy', 'not planted', 'good', 'too strong', 'snow', 'dry', 'rot', 'night'] +['rainy', 'not planted', 'bad', 'good', 'snow', 'dry', 'healthy', 'night'] +['rainy', 'planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'night'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'dry', 'rot', 'night'] +['rainy', 'not planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'night'] +['clear', 'planted', 'bad', 'too strong', 'no snow', 'dry', 'healthy', 'sunset'] +['clear', 'not planted', 'bad', 'good', 'snow', 'moist', 'healthy', 'morning'] +['rainy', 'not planted', 'bad', 'good', 'snow', 'dry', 'rot', 'morning'] +['clear', 'not planted', 'good', 'good', 'no snow', 'moist', 'rot', 'morning'] +['rainy', 'not planted', 'good', 'too strong', 'no snow', 'moist', 'healthy', 'morning'] +['rainy', 'not planted', 'bad', 'good', 'no snow', 'dry', 'rot', 'noon'] +['rainy', 'not planted', 'good', 'good', 'snow', 'moist', 'rot', 'sunset'] +['rainy', 'planted', 'good', 'too strong', 'no snow', 'dry', 'healthy', 'night'] +['rainy', 'planted', 'bad', 'too strong', 'snow', 'dry', 'rot', 'night'] +['rainy', 'not planted', 'good', 'good', 'snow', 'moist', 'rot', 'morning'] +['clear', 'not planted', 'bad', 'good', 'snow', 'dry', 'rot', 'noon'] +['rainy', 'not planted', 'bad', 'too strong', 'no snow', 'moist', 'rot', 'sunset'] +['clear', 'planted', 'good', 'good', 'no snow', 'moist', 'rot', 'morning'] +['clear', 'planted', 'bad', 'too strong', 'no snow', 'moist', 'rot', 'sunset'] +['rainy', 'planted', 'bad', 'too strong', 'snow', 'moist', 'rot', 'noon'] +['clear', 'planted', 'bad', 'too strong', 'snow', 'dry', 'healthy', 'noon'] +['clear', 'planted', 'good', 'good', 'snow', 'moist', 'healthy', 'night'] +['rainy', 'not planted', 'bad', 'good', 'no snow', 'dry', 'rot', 'morning'] +['clear', 'not planted', 'good', 'too strong', 'no snow', 'moist', 'rot', 'noon'] +['clear', 'planted', 'bad', 'good', 'snow', 'moist', 'rot', 'morning'] +['rainy', 'planted', 'bad', 'good', 'snow', 'dry', 'healthy', 'night'] +['rainy', 'planted', 'good', 'too strong', 'no snow', 'dry', 'healthy', 'sunset'] +['clear', 'not planted', 'good', 'too strong', 'snow', 'moist', 'rot', 'night'] +['clear', 'not planted', 'bad', 'good', 'no snow', 'moist', 'rot', 'sunset'] +['rainy', 'not planted', 'good', 'good', 'no snow', 'dry', 'healthy', 'sunset'] +['rainy', 'not planted', 'good', 'too strong', 'no snow', 'dry', 'healthy', 'sunset'] +['rainy', 'not planted', 'bad', 'good', 'snow', 'moist', 'healthy', 'sunset'] +['rainy', 'not planted', 'bad', 'too strong', 'no snow', 'dry', 'healthy', 'morning'] +['clear', 'planted', 'good', 'too strong', 'snow', 'moist', 'healthy', 'night'] +['clear', 'not planted', 'bad', 'good', 'no snow', 'dry', 'rot', 'sunset'] +['rainy', 'not planted', 'bad', 'good', 'no snow', 'dry', 'healthy', 'night'] +['clear', 'not planted', 'bad', 'too strong', 'snow', 'moist', 'healthy', 'night'] +['rainy', 'planted', 'bad', 'good', 'no snow', 'moist', 'rot', 'morning'] +['rainy', 'planted', 'bad', 'good', 'snow', 'dry', 'healthy', 'sunset'] +['rainy', 'planted', 'bad', 'too strong', 'no snow', 'dry', 'healthy', 'sunset'] +['clear', 'planted', 'good', 'too strong', 'no snow', 'dry', 'rot', 'sunset'] +['clear', 'not planted', 'good', 'good', 'no snow', 'dry', 'rot', 'night'] +['clear', 'not planted', 'bad', 'too strong', 'no snow', 'moist', 'healthy', 'night'] +['clear', 'planted', 'good', 'too strong', 'no snow', 'moist', 'rot', 'noon'] +['rainy', 'not planted', 'bad', 'too strong', 'no snow', 'moist', 'rot', 'night'] +['clear', 'planted', 'bad', 'too strong', 'no snow', 'dry', 'healthy', 'night'] +['rainy', 'planted', 'bad', 'good', 'snow', 'moist', 'rot', 'morning'] +['clear', 'not planted', 'bad', 'too strong', 'snow', 'moist', 'rot', 'sunset'] +['clear', 'not planted', 'bad', 'too strong', 'no snow', 'moist', 'healthy', 'noon'] +['rainy', 'not planted', 'good', 'good', 'no snow', 'moist', 'healthy', 'noon'] +['clear', 'planted', 'bad', 'too strong', 'snow', 'moist', 'healthy', 'noon'] diff --git a/decisionTree/treemaker.py b/decisionTree/treemaker.py new file mode 100644 index 0000000..679930e --- /dev/null +++ b/decisionTree/treemaker.py @@ -0,0 +1,76 @@ + + +#from sklearn.datasets import load_iris +from sklearn.tree import export_text + +from sklearn.tree import DecisionTreeClassifier +import joblib + +X1 = [] +view = [] +with open("decisionTree/database.txt", 'r') as f: + for line in f: + line = line.strip() + test_list = [int(i) for i in line] + x = [] + if line[0] == "0": + x.append("clear") + else: + x.append("rainy") + if line[1] == "0": + x.append("not planted") + else: + x.append("planted") + if line[2] == "0": + x.append("bad") + else: + x.append("good") + if line[3] == "0": + x.append("good") + else: + x.append("too strong") + if line[4] == "0": + x.append("no snow") + else: + x.append("snow") + if line[5] == "0": + x.append("dry") + else: + x.append("moist") + if line[6] == "0": + x.append("healthy") + else: + x.append("rot") + if line[7] == "0": + x.append("morning") + elif line[7] == "1": + x.append("noon") + elif line[7] == "2": + x.append("sunset") + else: + x.append("night") + view.append(x) + X1.append(test_list) + +f = open("decisionTree/learning_set.txt", "w") #zapisuje atrybuty słownie +for i in view: + f.write(str(i)+"\n") +f.close() + + +Y1 = [] +with open("decisionTree/decissions.txt", 'r') as f: #czyta decyzje + for line in f: + line = line.strip() + test = int(line) + Y1.append(test) + +dataset = X1 +decision = Y1 +labels = ['Rain','Plant','Temperature','Sun','Snow','Moisture','Rotten','Time'] +model = DecisionTreeClassifier(random_state=0, max_depth=20).fit(dataset, decision) +filename = 'decisionTree/decisionTree.sav' +print("Model trained") +print("Decision tree:") +print(export_text(model, feature_names=labels)) +joblib.dump(model, filename)