Traktor/decisiontree.py

35 lines
865 B
Python
Raw Normal View History

2024-05-12 21:10:52 +02:00
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, plot_tree
import matplotlib.pyplot as plt
import pandas as pd
2024-05-13 00:14:29 +02:00
from sklearn import tree
2024-05-12 21:10:52 +02:00
data = pd.read_csv("dane.csv")
2024-05-13 00:14:29 +02:00
print(data)
2024-05-12 21:10:52 +02:00
# Wczytanie danych
X = data.drop(columns=["podlac"])
X = pd.get_dummies(X)
y = data["podlac"]
2024-05-13 00:14:29 +02:00
2024-05-12 21:10:52 +02:00
# 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
2024-05-13 00:14:29 +02:00
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
2024-05-12 21:10:52 +02:00
2024-05-13 00:14:29 +02:00
# Wyliczenie poprawności algorytmu
accuracy = model.score(X_test, y_test)
2024-05-12 21:10:52 +02:00
print("Accuracy:", accuracy)
2024-05-13 00:14:29 +02:00
2024-05-12 21:10:52 +02:00
# Wyświetlenie drzewa decyzyjnego
plt.figure(figsize=(8, 5))
2024-05-13 00:14:29 +02:00
plot_tree(model, feature_names=X.columns, class_names=["Nie podlać", "Podlać"], filled=True)
2024-05-12 21:10:52 +02:00
plt.show()
2024-05-13 00:14:29 +02:00