Skip to content

Repository files navigation

Iris Flower Classification 🌸

This project involves building a machine learning model to classify iris flowers into three species: Iris Setosa, Iris Versicolor, and Iris Virginica. The model is trained and tested using the famous Iris dataset and is locally hosted using Streamlit for easy user interaction.


📂 Repository Contents

  • Dataset: The Iris dataset from Kaggle (Dataset Link).
  • Python Notebook: The complete workflow for data preprocessing, visualization, and model building.
  • Trained Model: Saved using Pickle for future predictions.
  • Streamlit App: A user-friendly interface to interact with the model.
  • ReadMe: Documentation of the project.

📝 Features

  • Data Analysis: Insights gained through data visualization and statistics.
  • Modeling: Various machine learning algorithms tested, including Logistic Regression and Decision Trees.
  • Performance Metrics: Accuracy and confusion matrix to evaluate the model.
  • Deployment:
    • Local Hosting: Interactive app created with Streamlit.

📊 Technologies Used

  • Programming Language: Python
  • Libraries: NumPy, Pandas, Matplotlib, Seaborn, Scikit-learn, Streamlit

🚀 How to Run

  1. Clone the repository:

    git clone https://github.com/DeMoN-7/Iris-Flower-Classification.git
    cd Iris-Flower-Classification
  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Run the Streamlit app locally:

    streamlit run app.py
  4. Open your browser and go to http://localhost:8501.


📚 Dataset Overview

The Iris dataset consists of 150 samples with 4 features:

  • Sepal length
  • Sepal width
  • Petal length
  • Petal width

Target labels:

  1. Iris Setosa
  2. Iris Versicolor
  3. Iris Virginica

🔍 Results

  • Best Model: Logistic Regression
  • Accuracy Achieved: [Include your model's accuracy here]
  • Confusion matrix shows good differentiation among the species.
  • Streamlit App: Users can input feature values and get predictions in real-time.

🛠 Future Scope

  • Deploy the Streamlit app online for broader accessibility.
  • Experiment with advanced algorithms like Random Forest or SVM.
  • Add hyperparameter tuning for better results.

👨‍💻 Author

Ayush Singh

Feel free to raise an issue or suggest improvements!

Releases

Packages

Used by

Contributors

Languages