from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# Load dataset
iris = load_iris()
X, y = iris.data, iris.target
# Split into training and testing sets (80/20)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
# Create and train the model
model = DecisionTreeClassifier(random_state=42)
model.fit(X_train, y_train)
# Predict and evaluate
y_pred = model.predict(X_test)
print(f"Accuracy: {accuracy_score(y_test, y_pred) * 100:.2f}%")
# Predict a new sample
sample = [[5.1, 3.5, 1.4, 0.2]]
print(f"Predicted class: {iris.target_names[model.predict(sample)[0]]}")
ZnJvbSBza2xlYXJuLmRhdGFzZXRzIGltcG9ydCBsb2FkX2lyaXMKZnJvbSBza2xlYXJuLm1vZGVsX3NlbGVjdGlvbiBpbXBvcnQgdHJhaW5fdGVzdF9zcGxpdApmcm9tIHNrbGVhcm4udHJlZSBpbXBvcnQgRGVjaXNpb25UcmVlQ2xhc3NpZmllcgpmcm9tIHNrbGVhcm4ubWV0cmljcyBpbXBvcnQgYWNjdXJhY3lfc2NvcmUKCiMgTG9hZCBkYXRhc2V0CmlyaXMgPSBsb2FkX2lyaXMoKQpYLCB5ID0gaXJpcy5kYXRhLCBpcmlzLnRhcmdldAoKIyBTcGxpdCBpbnRvIHRyYWluaW5nIGFuZCB0ZXN0aW5nIHNldHMgKDgwLzIwKQpYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IHRyYWluX3Rlc3Rfc3BsaXQoCiAgICBYLCB5LCB0ZXN0X3NpemU9MC4yLCByYW5kb21fc3RhdGU9NDIKKQoKIyBDcmVhdGUgYW5kIHRyYWluIHRoZSBtb2RlbAptb2RlbCA9IERlY2lzaW9uVHJlZUNsYXNzaWZpZXIocmFuZG9tX3N0YXRlPTQyKQptb2RlbC5maXQoWF90cmFpbiwgeV90cmFpbikKCiMgUHJlZGljdCBhbmQgZXZhbHVhdGUKeV9wcmVkID0gbW9kZWwucHJlZGljdChYX3Rlc3QpCnByaW50KGYiQWNjdXJhY3k6IHthY2N1cmFjeV9zY29yZSh5X3Rlc3QsIHlfcHJlZCkgKiAxMDA6LjJmfSUiKQoKIyBQcmVkaWN0IGEgbmV3IHNhbXBsZQpzYW1wbGUgPSBbWzUuMSwgMy41LCAxLjQsIDAuMl1dCnByaW50KGYiUHJlZGljdGVkIGNsYXNzOiB7aXJpcy50YXJnZXRfbmFtZXNbbW9kZWwucHJlZGljdChzYW1wbGUpWzBdXX0iKQ==