DecisionTreedemo
This commit is contained in:
parent
9c398488e5
commit
06e13b8f19
@ -1,4 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" />
|
||||
</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
|
||||
piasek,sucha,25,niska,drzewa,modrzew,jesien,południe,tak
|
||||
glina,umiarkowana,20,średnia,kwiaty,róża,wiosna,ranek,tak
|
||||
piasek,duża,30,wysoka,warzywa,pomidor,lato,południe,tak
|
||||
piasek,umiarkowana,22,średnia,krzewy,jeżyna,lato,południe,tak
|
||||
glina,mała,18,niska,drzewa,dąb,jesien,ranek,nie
|
||||
glina,sucha,24,średnia,kwiaty,tulipan,wiosna,południe,tak
|
||||
piasek,duża,28,wysoka,warzywa,ogórek,lato,południe,tak
|
||||
glina,umiarkowana,19,średnia,krzewy,porzeczka,lato,południe,tak
|
||||
piasek,umiarkowana,26,średnia,drzewa,jabłoń,lato,południe,tak
|
||||
piasek,sucha,23,średnia,warzywa,papryka,lato,południe,tak
|
||||
glina,mała,17,niska,kwiaty,storczyk,wiosna,ranek,nie
|
||||
piasek,sucha,27,wysoka,drzewa,grab,jesien,południe,tak
|
||||
glina,umiarkowana,21,średnia,krzewy,jagoda,lato,południe,tak
|
||||
piasek,duża,29,średnia,warzywa,cukinia,lato,południe,tak
|
||||
glina,mała,16,niska,kwiaty,fiołek,wiosna,południe,nie
|
||||
piasek,sucha,26,średnia,drzewa,sosna,jesien,południe,tak
|
||||
glina,umiarkowana,20,średnia,krzewy,agrest,lato,ranek,tak
|
||||
piasek,duża,31,wysoka,warzywa,kapusta,lato,południe,tak
|
||||
piasek,umiarkowana,24,średnia,krzewy,czarny bez,lato,południe,tak
|
||||
glina,sucha,22,niska,drzewa,jesion,jesien,południe,tak
|
||||
wilgotnosc_gleby,temperatura_gleby,opady_deszczu,wiek_rosliny,proc_ekspo_na_swiatlo,pora_dnia,pora_roku,roslina,podlac
|
||||
40, 20, 5, 3, 70, 10, 2, Marchew, nie
|
||||
60, 25, 0, 2, 50, 15, 3, Ziemniaki, tak
|
||||
30, 18, 10, 1, 80, 12, 4, Pomidor, nie
|
||||
50, 22, 3, 4, 60, 18, 1, Salata, tak
|
||||
45, 23, 2, 5, 75, 8, 2, Cebula, tak
|
||||
55, 26, 8, 3, 70, 14, 3, Papryka, nie
|
||||
35, 21, 1, 2, 55, 16, 4, Buraki, tak
|
||||
65, 24, 6, 4, 80, 11, 1, Brukselka, nie
|
||||
42, 20, 4, 3, 65, 13, 2, Rzepak, tak
|
||||
48, 22, 7, 5, 75, 9, 3, Szpinak, tak
|
||||
30, 25, 0, 1, 70, 14, 2, Marchew, tak
|
||||
60, 18, 10, 2, 60, 8, 3, Ziemniaki, nie
|
||||
35, 20, 2, 3, 50, 12, 4, Pomidor, tak
|
||||
50, 23, 1, 4, 65, 17, 1, Salata, tak
|
||||
45, 24, 5, 5, 80, 10, 2, Cebula, tak
|
||||
55, 22, 3, 3, 75, 13, 3, Papryka, nie
|
||||
40, 26, 8, 6, 70, 16, 1, Buraki, nie
|
||||
62, 21, 1, 4, 85, 9, 2, Brukselka, tak
|
||||
47, 25, 6, 5, 60, 11, 3, Rzepak, nie
|
||||
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
|
||||
import matplotlib.pyplot as plt
|
||||
import pandas as pd
|
||||
|
||||
from sklearn import tree
|
||||
|
||||
data = pd.read_csv("dane.csv")
|
||||
|
||||
print(data)
|
||||
|
||||
# Wczytanie danych
|
||||
X = data.drop(columns=["podlac"])
|
||||
X = pd.get_dummies(X)
|
||||
y = data["podlac"]
|
||||
|
||||
# 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)
|
||||
|
||||
# Inicjalizacja i dopasowanie modelu drzewa decyzyjnego
|
||||
clf = DecisionTreeClassifier()
|
||||
clf.fit(X_train, y_train)
|
||||
model = DecisionTreeClassifier()
|
||||
model.fit(X_train, y_train)
|
||||
|
||||
|
||||
accuracy = clf.score(X_test, y_test)
|
||||
# Wyliczenie poprawności algorytmu
|
||||
accuracy = model.score(X_test, y_test)
|
||||
print("Accuracy:", accuracy)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Wyświetlenie drzewa decyzyjnego
|
||||
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()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user