DecisionTreedemo
This commit is contained in:
parent
9c398488e5
commit
06e13b8f19
@ -1,4 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="Black">
|
||||||
|
<option name="sdkName" value="Python 3.9 (traktor)" />
|
||||||
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (traktor)" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (traktor)" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
106
dane.csv
106
dane.csv
@ -1,21 +1,85 @@
|
|||||||
rodzaj_gleby,wilgotnosc_gleby,temperatura_powietrza,wilgotnosc_powietrza,rodzaj_rosliny,nazwa_rosliny,pora_roku,pora_dnia,podlac
|
wilgotnosc_gleby,temperatura_gleby,opady_deszczu,wiek_rosliny,proc_ekspo_na_swiatlo,pora_dnia,pora_roku,roslina,podlac
|
||||||
piasek,sucha,25,niska,drzewa,modrzew,jesien,południe,tak
|
40, 20, 5, 3, 70, 10, 2, Marchew, nie
|
||||||
glina,umiarkowana,20,średnia,kwiaty,róża,wiosna,ranek,tak
|
60, 25, 0, 2, 50, 15, 3, Ziemniaki, tak
|
||||||
piasek,duża,30,wysoka,warzywa,pomidor,lato,południe,tak
|
30, 18, 10, 1, 80, 12, 4, Pomidor, nie
|
||||||
piasek,umiarkowana,22,średnia,krzewy,jeżyna,lato,południe,tak
|
50, 22, 3, 4, 60, 18, 1, Salata, tak
|
||||||
glina,mała,18,niska,drzewa,dąb,jesien,ranek,nie
|
45, 23, 2, 5, 75, 8, 2, Cebula, tak
|
||||||
glina,sucha,24,średnia,kwiaty,tulipan,wiosna,południe,tak
|
55, 26, 8, 3, 70, 14, 3, Papryka, nie
|
||||||
piasek,duża,28,wysoka,warzywa,ogórek,lato,południe,tak
|
35, 21, 1, 2, 55, 16, 4, Buraki, tak
|
||||||
glina,umiarkowana,19,średnia,krzewy,porzeczka,lato,południe,tak
|
65, 24, 6, 4, 80, 11, 1, Brukselka, nie
|
||||||
piasek,umiarkowana,26,średnia,drzewa,jabłoń,lato,południe,tak
|
42, 20, 4, 3, 65, 13, 2, Rzepak, tak
|
||||||
piasek,sucha,23,średnia,warzywa,papryka,lato,południe,tak
|
48, 22, 7, 5, 75, 9, 3, Szpinak, tak
|
||||||
glina,mała,17,niska,kwiaty,storczyk,wiosna,ranek,nie
|
30, 25, 0, 1, 70, 14, 2, Marchew, tak
|
||||||
piasek,sucha,27,wysoka,drzewa,grab,jesien,południe,tak
|
60, 18, 10, 2, 60, 8, 3, Ziemniaki, nie
|
||||||
glina,umiarkowana,21,średnia,krzewy,jagoda,lato,południe,tak
|
35, 20, 2, 3, 50, 12, 4, Pomidor, tak
|
||||||
piasek,duża,29,średnia,warzywa,cukinia,lato,południe,tak
|
50, 23, 1, 4, 65, 17, 1, Salata, tak
|
||||||
glina,mała,16,niska,kwiaty,fiołek,wiosna,południe,nie
|
45, 24, 5, 5, 80, 10, 2, Cebula, tak
|
||||||
piasek,sucha,26,średnia,drzewa,sosna,jesien,południe,tak
|
55, 22, 3, 3, 75, 13, 3, Papryka, nie
|
||||||
glina,umiarkowana,20,średnia,krzewy,agrest,lato,ranek,tak
|
40, 26, 8, 6, 70, 16, 1, Buraki, nie
|
||||||
piasek,duża,31,wysoka,warzywa,kapusta,lato,południe,tak
|
62, 21, 1, 4, 85, 9, 2, Brukselka, tak
|
||||||
piasek,umiarkowana,24,średnia,krzewy,czarny bez,lato,południe,tak
|
47, 25, 6, 5, 60, 11, 3, Rzepak, nie
|
||||||
glina,sucha,22,niska,drzewa,jesion,jesien,południe,tak
|
58, 20, 4, 3, 75, 14, 4, Szpinak, tak
|
||||||
|
38, 24, 7, 3, 65, 11, 1, Marchew, tak
|
||||||
|
59, 20, 3, 2, 55, 16, 2, Ziemniaki, nie
|
||||||
|
33, 22, 5, 1, 70, 9, 3, Pomidor, nie
|
||||||
|
52, 25, 2, 4, 80, 14, 4, Salata, tak
|
||||||
|
46, 21, 1, 5, 75, 10, 1, Cebula, tak
|
||||||
|
56, 26, 8, 3, 70, 15, 2, Papryka, nie
|
||||||
|
34, 23, 0, 2, 60, 8, 3, Buraki, nie
|
||||||
|
63, 18, 4, 4, 85, 12, 4, Brukselka, nie
|
||||||
|
41, 20, 1, 3, 65, 13, 1, Rzepak, tak
|
||||||
|
49, 22, 9, 5, 75, 17, 2, Szpinak, tak
|
||||||
|
29, 25, 0, 2, 70, 14, 3, Marchew, tak
|
||||||
|
61, 18, 11, 3, 60, 8, 1, Ziemniaki, nie
|
||||||
|
37, 20, 2, 4, 50, 12, 2, Pomidor, tak
|
||||||
|
51, 23, 0, 5, 65, 16, 4, Salata, tak
|
||||||
|
44, 24, 4, 6, 80, 10, 3, Cebula, tak
|
||||||
|
54, 22, 3, 3, 75, 13, 1, Papryka, nie
|
||||||
|
39, 26, 7, 1, 70, 15, 2, Buraki, nie
|
||||||
|
64, 21, 0, 4, 85, 9, 3, Brukselka, tak
|
||||||
|
48, 25, 5, 5, 60, 11, 4, Rzepak, nie
|
||||||
|
57, 20, 2, 3, 75, 14, 1, Szpinak, tak
|
||||||
|
32, 24, 8, 3, 65, 10, 2, Marchew, tak
|
||||||
|
62, 19, 2, 2, 55, 15, 3, Ziemniaki, nie
|
||||||
|
36, 21, 1, 1, 70, 12, 4, Pomidor, nie
|
||||||
|
53, 22, 4, 4, 80, 16, 1, Salata, tak
|
||||||
|
42, 23, 2, 5, 75, 8, 2, Cebula, tak
|
||||||
|
58, 26, 6, 3, 70, 14, 3, Papryka, nie
|
||||||
|
35, 21, 0, 2, 60, 17, 4, Buraki, nie
|
||||||
|
65, 18, 3, 4, 85, 11, 1, Brukselka, nie
|
||||||
|
45, 20, 1, 3, 65, 13, 2, Rzepak, tak
|
||||||
|
50, 22, 7, 5, 75, 9, 3, Szpinak, tak
|
||||||
|
31, 25, 0, 2, 70, 14, 1, Marchew, tak
|
||||||
|
60, 18, 9, 3, 60, 8, 2, Ziemniaki, nie
|
||||||
|
34, 20, 3, 4, 50, 12, 3, Pomidor, tak
|
||||||
|
52, 23, 1, 5, 65, 16, 4, Salata, tak
|
||||||
|
47, 24, 6, 6, 80, 10, 1, Cebula, tak
|
||||||
|
55, 22, 2, 3, 75, 13, 2, Papryka, nie
|
||||||
|
38, 26, 8, 1, 70, 15, 3, Buraki, nie
|
||||||
|
64, 21, 0, 4, 85, 9, 4, Brukselka, tak
|
||||||
|
41, 20, 2, 3, 65, 13, 1, Rzepak, tak
|
||||||
|
49, 22, 8, 5, 75, 17, 2, Szpinak, tak
|
||||||
|
30, 24, 1, 2, 70, 14, 3, Marchew, tak
|
||||||
|
61, 18, 10, 3, 60, 8, 1, Ziemniaki, nie
|
||||||
|
37, 20, 4, 4, 50, 12, 2, Pomidor, tak
|
||||||
|
51, 23, 2, 5, 65, 16, 4, Salata, tak
|
||||||
|
44, 24, 5, 6, 80, 10, 3, Cebula, tak
|
||||||
|
53, 22, 3, 3, 75, 13, 1, Papryka, nie
|
||||||
|
39, 26, 7, 1, 70, 15, 2, Buraki, nie
|
||||||
|
65, 21, 0, 4, 85, 9, 3, Brukselka, tak
|
||||||
|
48, 25, 6, 5, 60, 11, 4, Rzepak, nie
|
||||||
|
57, 20, 3, 3, 75, 14, 1, Szpinak, tak
|
||||||
|
32, 24, 9, 2, 65, 10, 2, Marchew, tak
|
||||||
|
62, 19, 1, 2, 55, 15, 3, Ziemniaki, nie
|
||||||
|
36, 21, 2, 1, 70, 12, 4, Pomidor, nie
|
||||||
|
55, 23, 3, 4, 80, 16, 1, Salata, tak
|
||||||
|
42, 23, 1, 5, 75, 8, 2, Cebula, tak
|
||||||
|
58, 26, 5, 3, 70, 14, 3, Papryka, nie
|
||||||
|
35, 21, 0, 2, 60, 17, 4, Buraki, nie
|
||||||
|
46, 20, 2, 3, 65, 13, 2, Rzepak, tak
|
||||||
|
50, 22, 6, 5, 75, 9, 3, Szpinak, tak
|
||||||
|
31, 25, 1, 2, 70, 14, 1, Marchew, tak
|
||||||
|
60, 18, 8, 3, 60, 8, 2, Ziemniaki, nie
|
||||||
|
33, 20, 4, 4, 50, 12, 3, Pomidor, tak
|
||||||
|
52, 23, 1, 5, 65, 16, 4, Salata, tak
|
||||||
|
47, 24, 7, 6, 80, 10, 1, Cebula, tak
|
||||||
|
|
@ -2,27 +2,33 @@ from sklearn.model_selection import train_test_split
|
|||||||
from sklearn.tree import DecisionTreeClassifier, plot_tree
|
from sklearn.tree import DecisionTreeClassifier, plot_tree
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
from sklearn import tree
|
||||||
|
|
||||||
data = pd.read_csv("dane.csv")
|
data = pd.read_csv("dane.csv")
|
||||||
|
print(data)
|
||||||
|
|
||||||
# Wczytanie danych
|
# Wczytanie danych
|
||||||
X = data.drop(columns=["podlac"])
|
X = data.drop(columns=["podlac"])
|
||||||
X = pd.get_dummies(X)
|
X = pd.get_dummies(X)
|
||||||
y = data["podlac"]
|
y = data["podlac"]
|
||||||
|
|
||||||
# Podział danych na zbiór treningowy i testowy
|
# Podział danych na zbiór treningowy i testowy
|
||||||
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
|
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
|
||||||
|
|
||||||
# Inicjalizacja i dopasowanie modelu drzewa decyzyjnego
|
# Inicjalizacja i dopasowanie modelu drzewa decyzyjnego
|
||||||
clf = DecisionTreeClassifier()
|
model = DecisionTreeClassifier()
|
||||||
clf.fit(X_train, y_train)
|
model.fit(X_train, y_train)
|
||||||
|
|
||||||
|
# Wyliczenie poprawności algorytmu
|
||||||
accuracy = clf.score(X_test, y_test)
|
accuracy = model.score(X_test, y_test)
|
||||||
print("Accuracy:", accuracy)
|
print("Accuracy:", accuracy)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Wyświetlenie drzewa decyzyjnego
|
# Wyświetlenie drzewa decyzyjnego
|
||||||
plt.figure(figsize=(8, 5))
|
plt.figure(figsize=(8, 5))
|
||||||
plot_tree(clf, feature_names=X.columns, class_names=["Nie podlać", "Podlać"], filled=True)
|
plot_tree(model, feature_names=X.columns, class_names=["Nie podlać", "Podlać"], filled=True)
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user