from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, classification_report import pandas as pd import warnings warnings.filterwarnings("ignore") # Load the Iris dataset iris = load_iris() X = iris.data y = iris.target # Convert to DataFrame for readability df = pd.DataFrame(X, columns=iris.feature_names) df['target'] = y # Split the data X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=42 ) # Initialize and train Random Forest rf_model = RandomForestClassifier(n_estimators=100, random_state=42) rf_model.fit(X_train, y_train) # Predict on test data y_pred = rf_model.predict(X_test) # Evaluate model accuracy = accuracy_score(y_test, y_pred) print(f" Model Accuracy: {accuracy:.2f}") print("\n Classification Report:\n", classification_report(y_test, y_pred, target_names=iris.target_names)) # Test sample prediction sample = X_test[0].reshape(1, -1) prediction = iris.target_names[rf_model.predict(sample)[0]] print(f"\nSample Flower Features: {X_test[0]}") print(f" Predicted Species: {prediction}") __ __