commit_natalia5

This commit is contained in:
Natalia 2020-05-25 12:18:51 +02:00
parent 0c7a47d8cd
commit 9b5134297d
5 changed files with 11 additions and 11 deletions

View File

@ -29,7 +29,7 @@ def main():
#podział danych na zestaw treningowy i testowy; 70% trening 30% test #podział danych na zestaw treningowy i testowy; 70% trening 30% test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,
random_state=1) # 70% training and 30% test random_state=1)
############################### ###############################
# stworzenie -obiektu- drzewa Decision Tree classifer # stworzenie -obiektu- drzewa Decision Tree classifer
@ -55,6 +55,10 @@ def main():
graph.write_png('polecanie_1.png') graph.write_png('polecanie_1.png')
Image(graph.create_png()) Image(graph.create_png())
# zapisanie modelu danych do pliku
file_name = 'final_model.sav'
joblib.dump(clf, file_name)
# ************************************************************ # ************************************************************
# stworzenie -obiektu- drzewa Decision Tree classifer z kryterium entropii # stworzenie -obiektu- drzewa Decision Tree classifer z kryterium entropii
clf = DecisionTreeClassifier(criterion="entropy") clf = DecisionTreeClassifier(criterion="entropy")
@ -78,9 +82,7 @@ def main():
graph.write_png('polecanie_2_entropia.png') graph.write_png('polecanie_2_entropia.png')
Image(graph.create_png()) Image(graph.create_png())
#zapisanie modelu danych do pliku
file_name = 'final_model.sav'
joblib.dump(clf, file_name)
return return

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 276 KiB

View File

@ -613,7 +613,7 @@ def Tree_natalia(d):
plate3 = Plate(prefer3, "Natalia/danie3.png") plate3 = Plate(prefer3, "Natalia/danie3.png")
client1 = Client(25, 1, 45, 1) client1 = Client(25, 1, 45, 1)
client2 = Client(41, 0, 22, 4) client2 = Client(70, 0, 22, 4)
client3 = Client(10, 0, 32, 8) client3 = Client(10, 0, 32, 8)
client1.takePlateAndEat(plate1) client1.takePlateAndEat(plate1)
@ -622,10 +622,8 @@ def Tree_natalia(d):
bot.goByAStar((tables[1].pos[0] + 1, tables[1].pos[1])) bot.goByAStar((tables[1].pos[0] + 1, tables[1].pos[1]))
opinion = show_predict(prefer1, client1, loaded_model) opinion = show_predict(prefer1, client1, loaded_model)
bot.goByAStar((tables[3].pos[0] + 1, tables[3].pos[1])) bot.goByAStar((tables[3].pos[0] + 1, tables[3].pos[1]))
opinion = show_predict(prefer2, client2, loaded_model) opinion = show_predict(prefer2, client2, loaded_model)
bot.goByAStar((tables[5].pos[0] + 1, tables[5].pos[1])) bot.goByAStar((tables[5].pos[0] + 1, tables[5].pos[1]))
opinion = show_predict(prefer3, client3, loaded_model) opinion = show_predict(prefer3, client3, loaded_model)

View File

@ -28,7 +28,7 @@ Na początku dane są pobierane z pliku "Nowy.csv" gdzie zostało przygotowanych
``` ```
#### Dane: #### #### Dane: ####
Aby utworzyć model stworzyłam 121 wierszy z 6 kolejnych liczb oznaczających: Aby utworzyć model, stworzyłam 121 wierszy z 6 kolejnych liczb oznaczających:
- wiek klienta (7 - 80); - wiek klienta (7 - 80);
- zawartość tłuszczu w daniu (0 - 16); - zawartość tłuszczu w daniu (0 - 16);
@ -44,17 +44,17 @@ Aby utworzyć model stworzyłam 121 wierszy z 6 kolejnych liczb oznaczających:
6. hiszpańska zapiekanka ziemniaczana 6. hiszpańska zapiekanka ziemniaczana
7. pieczone warzywa 7. pieczone warzywa
Poszczególne liczby są oddzielone przecinkami, a wiersze znakiem nowej linii, plik z rozszerzeniem .csv. Poszczególne liczby są oddzielone przecinkami, a wiersze znakiem nowej linii. Dane znajdują się w pliku z rozszerzeniem .cvs
#### Drzewa decyzyjne: #### #### Drzewa decyzyjne: ####
Następnie następuje podział danych na zestaw treningowy i testowy. Zestaw treningowy to 70% danych, testowy 30%. X to zestaw cech, Y zestaw wyników - tutaj etykieta "number". Następnie wykonany zostaje podział danych na zestaw treningowy (70%) i testowy (30%). X to zestaw cech, Y zestaw wyników - tutaj etykieta "number".
```python ```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,
random_state=1) random_state=1)
``` ```
Do stworzenia modelu drzew została wykorzystana funkcja **DecisionTreeClassifier.** Pierwsze drzewo przyjmuje jako kryterium indeks Gini (domyślny), drugie drzewo entropię. Do stworzenia modelu drzew została wykorzystana funkcja **DecisionTreeClassifier.** Pierwsze przyjmuje jako kryterium indeks Gini (domyślny), drugie entropię.
```python ```python
clf = DecisionTreeClassifier() clf = DecisionTreeClassifier()
clf = DecisionTreeClassifier(criterion="entropy") clf = DecisionTreeClassifier(criterion="entropy")