1
0
forked from s444399/AI

Zaktualizuj 'WGoracy.md'

This commit is contained in:
Weronika Gorący 2020-05-08 13:55:27 +00:00
parent b20710e7c9
commit 0ee8f37dc6

View File

@ -1,12 +1,12 @@
# Podprojekt indywidualny - Weronika Gorący ## Podprojekt indywidualny - Weronika Gorący
## Wykorzystane metody uczenia ### Wykorzystane metody uczenia
Do realizacji podprojektu wykorzystano drzewa decyzyjne do decydowania, na które regały należy umieścić paczkę na podstawie jej cech. Do implementacji drzew decyzyjnych w Pythonie wykorzystane zostały biblioteki *sklearn* i *pandas*. Do realizacji podprojektu wykorzystano drzewa decyzyjne do decydowania, na które regały należy umieścić paczkę na podstawie jej cech. Do implementacji drzew decyzyjnych w Pythonie wykorzystane zostały biblioteki *sklearn* i *pandas*.
## Omówienie kodu ### Omówienie kodu
Kod podprojektu znajduje się w klasie **whereDecision** w pliku [whereDecision.py](https://git.wmi.amu.edu.pl/s444399/AI/src/master/whereDecision.py). Wywołanie metody **recognize** odbywa się w klasie **program** w pliku [program.py](https://git.wmi.amu.edu.pl/s444399/AI/src/master/program.py). Kod podprojektu znajduje się w klasie **whereDecision** w pliku [whereDecision.py](https://git.wmi.amu.edu.pl/s444399/AI/src/master/whereDecision.py). Wywołanie metody **recognize** odbywa się w klasie **program** w pliku [program.py](https://git.wmi.amu.edu.pl/s444399/AI/src/master/program.py) (linia 79).
``` ```
whatIsIt = self.neurons.whatIsIt(easygui.fileopenbox("Wybierz zdjęcie paczki", "Wybierz zdjęcie paczki", filetypes = [["*.jpg", "*.jpeg", "*.png", "Pliki graficzne"]])) whatIsIt = self.neurons.whatIsIt(easygui.fileopenbox("Wybierz zdjęcie paczki", "Wybierz zdjęcie paczki", filetypes = [["*.jpg", "*.jpeg", "*.png", "Pliki graficzne"]]))
@ -32,7 +32,7 @@ Metoda **regalsik()** sprawdza czy regał z tablicy **regals** jest pusty i jeż
return tmp return tmp
``` ```
## Uczenie modelu ### Uczenie modelu
Metoda **recognize** rozpoczyna od utworzenia zbioru uczącego na podstawie tabeli zawierającej informacje o pustych półkach na planszy. Dla każdego regału sprawdzany jest typ paczki, który może być na niej przechowywany, a następnie jest on dodawany do odpowiedniej kolumny. Tablica **lokacja** zawiera położenia wszystkich regałów na planszy. Metoda **recognize** rozpoczyna od utworzenia zbioru uczącego na podstawie tabeli zawierającej informacje o pustych półkach na planszy. Dla każdego regału sprawdzany jest typ paczki, który może być na niej przechowywany, a następnie jest on dodawany do odpowiedniej kolumny. Tablica **lokacja** zawiera położenia wszystkich regałów na planszy.
@ -98,7 +98,7 @@ Do zmiennej **z** zapisywany jest nasz zbiór uczący, zaś do zmiennej **y** za
y = prenumeratorzy["lokacja"] y = prenumeratorzy["lokacja"]
``` ```
## Implementacja ### Implementacja
Do zmiennej drzewko zapisujemy drzewo decyzyjne z biblioteki *sklearn* utworzone za pomocą metody **DecisionTreeClassifier** z parametrem **criterion** ustawionym na **"entropy"**, który pozwala na uzyskiwanie informacji. Na drzewie wywołujemy metodę **fit**, która dopasowuje do drzewa zbiór uczący zadany w tablicach **z** i **y**.Po dopasowaniu danych możemy przewidzieć przynależność nowych przykładów, co robimy wywołując na drzewie metodę **predict** z parametrem uzyskanym na samym początku, który zawiera informację o rodzaju otrzymanej paczki. W ostateczności zwracamy kod lokalizacji na której zostanie umieszczona paczka. Do zmiennej drzewko zapisujemy drzewo decyzyjne z biblioteki *sklearn* utworzone za pomocą metody **DecisionTreeClassifier** z parametrem **criterion** ustawionym na **"entropy"**, który pozwala na uzyskiwanie informacji. Na drzewie wywołujemy metodę **fit**, która dopasowuje do drzewa zbiór uczący zadany w tablicach **z** i **y**.Po dopasowaniu danych możemy przewidzieć przynależność nowych przykładów, co robimy wywołując na drzewie metodę **predict** z parametrem uzyskanym na samym początku, który zawiera informację o rodzaju otrzymanej paczki. W ostateczności zwracamy kod lokalizacji na której zostanie umieszczona paczka.
@ -108,4 +108,4 @@ Do zmiennej drzewko zapisujemy drzewo decyzyjne z biblioteki *sklearn* utworzone
return list(make_tuple(lokacja_kody[drzewko.predict(recognize)][0])) return list(make_tuple(lokacja_kody[drzewko.predict(recognize)][0]))
``` ```
Lokalizacja, którą zwróciła metoda **recognize** zapisywana jest do zmiennej **where** (klasa **program**) i na tej podstawie wózek z pomocą algorytmu AStar wybiera odpowiednią ścieżkę do umieszczenia paczki. Ostatecznie lokalizacja, którą zwróciła metoda **recognize** zapisywana jest do zmiennej **where** (klasa **program** linia 79) i na tej podstawie wózek z pomocą algorytmu AStar wybiera odpowiednią ścieżkę do umieszczenia paczki.