Skip to content

JSIMBA11/Week-3-AI-for-software-engineering-assignment

Repository files navigation

AI Tools Assignment: Mastering the AI Toolkit 🛠️🧠

📋 Project Overview

This project demonstrates proficiency in AI tools and frameworks through theoretical understanding, practical implementation, and ethical analysis. The assignment covers classical machine learning, deep learning, and natural language processing using industry-standard tools.

👥 Team Members

  • Jerald Hindia Simba

🎯 Assignment Objectives

  • Theoretical Understanding: Compare and contrast AI frameworks
  • Practical Implementation: Build and evaluate ML models using Scikit-learn, TensorFlow, and spaCy
  • Ethical Analysis: Identify and mitigate biases in AI systems
  • Collaboration: Demonstrate teamwork in AI engineering

📁 Project Structure

AI_Tools_Assignment/ ├── README.md ├── requirements.txt ├── theoretical_answers.md ├── practical_implementation/ │ ├── task1_decision_tree.ipynb │ ├── task2_cnn_mnist.ipynb │ ├── task3_nlp_spacy.ipynb │ └── data/ (if any local datasets) ├── ethics_optimization.md ├── presentation/ │ ├── presentation_script.md │ └── video_presentation.mp4 └── assignment_report.pdf

text

🛠️ Technologies Used

  • Frameworks: TensorFlow, PyTorch, Scikit-learn, spaCy
  • Platforms: Google Colab, Jupyter Notebook
  • Languages: Python
  • Datasets: Iris Species, MNIST, Amazon Product Reviews
  • Deployment: Streamlit (Bonus Task)

⚙️ Installation & Setup

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)

Step 1: Clone Repository

git clone https://github.com/JSIMBA11/Week-3-AI-for-software-engineering-assignment.git
cd AI_Tools_Assignment
Step 2: Create Virtual Environment (Recommended)
bash
python -m venv ai_assignment_env
source ai_assignment_env/bin/activate  # On Windows: ai_assignment_env\Scripts\activate
Step 3: Install Dependencies
bash
pip install -r requirements.txt
python -m spacy download en_core_web_sm
Step 4: Launch Jupyter Notebook
bash
jupyter notebook
🚀 Running the Project
Part 1: Theoretical Understanding
View answers in theoretical_answers.md

No execution required

Part 2: Practical Implementation
Task 1: Classical ML with Scikit-learn
bash
jupyter notebook practical_implementation/task1_decision_tree.ipynb
Expected Output: Decision tree classifier with >90% accuracy on Iris dataset

Task 2: Deep Learning with TensorFlow
bash
jupyter notebook practical_implementation/task2_cnn_mnist.ipynb
Expected Output: CNN model with >95% test accuracy on MNIST dataset

Task 3: NLP with spaCy
bash
jupyter notebook practical_implementation/task3_nlp_spacy.ipynb
Expected Output: Named Entity Recognition and sentiment analysis on sample reviews

Part 3: Ethics & Optimization
View analysis in ethics_optimization.md

Includes debugging exercises and ethical considerations

Bonus Task: Model Deployment
bash
streamlit run deployment/app.py
Access the web interface at http://localhost:8501

📊 Results Summary
Task 1: Decision Tree Classifier
Dataset: Iris Species

Accuracy: ~97%

Key Features: Data preprocessing, model evaluation

Task 2: CNN for MNIST
Dataset: MNIST Handwritten Digits

Test Accuracy: >95%

Model Architecture: Convolutional Neural Network

Task 3: NLP with spaCy
Tasks: Named Entity Recognition, Sentiment Analysis

Entities Extracted: Product names, brands

Sentiment Analysis: Rule-based approach

🧠 Key Learnings
Framework Comparison: Understood trade-offs between TensorFlow and PyTorch

Model Development: Gained hands-on experience with classical ML and deep learning

NLP Processing: Learned advanced text processing with spaCy

Ethical AI: Considered biases and mitigation strategies

Team Collaboration: Developed AI solutions in a team environment

📈 Performance Metrics
Task	Model	Accuracy	Key Metric
1	Decision Tree	97%	Precision/Recall
2	CNN	98%	Test Accuracy
3	spaCy NER	-	Entity Extraction
🔍 Ethical Considerations
Bias Identification: Addressed potential biases in MNIST and review data

Mitigation Strategies: Implemented fairness indicators and diverse training data

Transparency: Documented limitations and improvement areas

🎥 Presentation
Duration: 3 minutes

Format: Video presentation with all team members

Content: Project approach, key findings, and demonstrations

Location: presentation/video_presentation.mp4

📄 Report
Comprehensive PDF report including:

Theoretical answers with framework comparisons

Implementation details and code explanations

Performance metrics and visualizations

Ethical analysis and reflections

Located in assignment_report.pdf

🤝 Contribution
Each team member contributed to code development, documentation, and presentation

Regular sync meetings ensured coordinated progress

Code reviews maintained quality and consistency

⏰ Timeline
Days 1-2: Theoretical research and environment setup

Days 3-5: Practical implementation and testing

Day 6: Ethics analysis and report compilation

Day 7: Video recording and final submission

🆘 Troubleshooting
Common Issues
spaCy model download error:

bash
python -m spacy download en_core_web_sm
TensorFlow GPU issues:

bash
pip install tensorflow-cpu  # For CPU-only systems
Jupyter kernel not found:

bash
python -m ipykernel install --user --name=ai_assignment
Getting Help
Check framework documentation: TensorFlow, PyTorch, spaCy

Post questions with #AIToolsAssignment on community platforms

📞 Contact
For questions about this project, please contact the team through:

GitHub Issues

LMS Community Platform

Team Jeraldhindiasimba@gmail.com

📜 License
This project is for educational purposes as part of the AI Tools Assignment.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published