fork download
  1. import numpy as np
  2. import pandas as pd
  3. from sklearn.model_selection import train_test_split
  4. from sklearn.ensemble import RandomForestClassifier
  5. from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
  6. import matplotlib.pyplot as plt
  7. import seaborn as sns
  8.  
  9. # Load a dataset (e.g., the Iris dataset)
  10. from sklearn.datasets import load_iris
  11. data = load_iris()
  12. X = data.data
  13. y = data.target
  14.  
  15. # Split the dataset into training and testing sets
  16. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
  17.  
  18. # Initialize the Random Forest Classifier
  19. rf = RandomForestClassifier(n_estimators=100, random_state=42)
  20.  
  21. # Train the classifier
  22. rf.fit(X_train, y_train)
  23.  
  24. # Make predictions
  25. y_pred = rf.predict(X_test)
  26.  
  27. # Evaluate the classifier
  28. accuracy = accuracy_score(y_test, y_pred)
  29. report = classification_report(y_test, y_pred)
  30. matrix = confusion_matrix(y_test, y_pred)
  31.  
  32. print(f'Accuracy: {accuracy}')
  33. print('Classification Report:')
  34. print(report)
  35. print('Confusion Matrix:')
  36. print(matrix)
  37.  
  38. # Visualization
  39.  
  40. # Confusion Matrix Heatmap
  41. plt.figure(figsize=(8, 6))
  42. sns.heatmap(matrix, annot=True, fmt='d', cmap='Blues', xticklabels=data.target_names, yticklabels=data.target_names)
  43. plt.xlabel('Predicted')
  44. plt.ylabel('Actual')
  45. plt.title('Confusion Matrix Heatmap')
  46. plt.show()
  47.  
  48. # Feature Importance
  49. feature_importances = rf.feature_importances_
  50. features = data.feature_names
  51.  
  52. plt.figure(figsize=(10, 6))
  53. sns.barplot(x=feature_importances, y=features)
  54. plt.xlabel('Importance')
  55. plt.ylabel('Feature')
  56. plt.title('Feature Importance')
  57. plt.show()
  58.  
  59. # Pairplot with Predictions
  60. X_test_df = pd.DataFrame(X_test, columns=data.feature_names)
  61. X_test_df['Actual'] = y_test
  62. X_test_df['Predicted'] = y_pred
  63.  
  64. sns.pairplot(X_test_df, hue='Actual', palette='Set1', markers=["o", "s", "D"], diag_kind='kde')
  65. plt.suptitle('Pairplot of Actual Classes')
  66. plt.show()
  67.  
  68. sns.pairplot(X_test_df, hue='Predicted', palette='Set2', markers=["o", "s", "D"], diag_kind='kde')
  69. plt.suptitle('Pairplot of Predicted Classes')
  70. plt.show()
  71.  
Success #stdin #stdout #stderr 0.26s 40924KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Error: unexpected symbol in "import numpy"
Execution halted