Zaktualizuj 'Raporty/raport_444428.md'

This commit is contained in:
Wojciech Łukasik 2020-05-19 21:41:26 +00:00
parent b02e90ebcf
commit 60c2cbc17a
1 changed files with 8 additions and 7 deletions

View File

@ -10,8 +10,11 @@ dane uczące znajdują się w pliku data.py w liście learning_data
### Tworzenie drzewa decyzyjnego ### Tworzenie drzewa decyzyjnego
Główną funkcją jest build_tree(rows), która jak wskazuje nazwa tworzy drzewo. Funkcja przyjmuje Główną funkcją jest
jako argument listę zawierającą zestaw danych, w tym przypadku będą to słodycze o różnych właściwościach.
`build_tree(rows)` która jak wskazuje nazwa tworzy drzewo.
Funkcja przyjmuje jako argument listę zawierającą zestaw danych, w tym przypadku będą to słodycze o różnych właściwościach.
```python ```python
def build_tree(rows): def build_tree(rows):
@ -79,14 +82,12 @@ def gini(rows):
impurity -= prob_of_lbl ** 2 impurity -= prob_of_lbl ** 2
return impurity return impurity
``` ```
`class_counts(rows)` to funkcja, która dla danego zestawu danych zwraca wszystkie unikalne klasy oraz liczbę ich wystąpień. `class_counts(rows)` to funkcja, która dla danego zestawu danych zwraca wszystkie unikalne 'kategorie' oraz liczbę ich wystąpień.
Dla przykładu, dla zestawu w którym wszystkie elementy podchodzą pod tę samą kategorię wartość Gini będzie równa zero, Dla przykładu, w zestawie w którym wszystkie elementy podchodzą pod tę samą kategorię wartość Gini Impurity będzie równa zero, natomiast w zbiorze w którym znajdują się dwie kategorie wartość ta wyniesie 0,5. Im więcej różnych kategorii tym bardziej wartość Gini Impurity będzie zbliżała się do 1.
natomiast dla zbioru w którym znajdują się dwie kategorie wartość ta wyniesie 0,5.
Po znalezieniu najbardziej optymalnego pytania, algorytm dzieli zestaw na elementy, dla których pytanie jest prawdziwe Po znalezieniu najbardziej optymalnego pytania, algorytm dzieli zestaw na elementy, dla których pytanie jest prawdziwe
(true_rows), oraz te dla których jest fałszywe (false_rows). Następnie wykonuje rekurencyjnie procedurę build_tree dla (true_rows), oraz te dla których jest fałszywe (false_rows). Następnie wykonuje rekurencyjnie procedurę `build_tree` dla obu poddrzew tak długo aż nie dojdzie do liści.
obu poddrzew tak długo aż nie dojdzie do liści.
Element o zadanym zestawie cech, zostaje odnaleziony w drzewie dzięki prostej procedurze Element o zadanym zestawie cech, zostaje odnaleziony w drzewie dzięki prostej procedurze