from sklearn.datasets import load_iris
import pandas as pd
iris = load_iris()
df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
df['species'] = iris.target
print(df.head())
from sklearn.model_selection import train_test_split
X = df[iris.feature_names] # atributos
y = df['species'] # rótulos
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier(random_state=42)
model.fit(X_train, y_train)
from sklearn.metrics import accuracy_score
from sklearn.model_selection import cross_val_score
y_pred = model.predict(X_test)
print("Acurácia no teste:", accuracy_score(y_test, y_pred))
scores = cross_val_score(model, X, y, cv=5)
print("Acurácia média (cross-validation):", scores.mean())
nova_flor = [[5.1, 3.5, 1.4, 0.2]] # medidas de pétalas e sépalas
predicao = model.predict(nova_flor)
print("Classe prevista para nova flor:", iris.target_names[predicao][0])