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.
- Jerald Hindia Simba
- 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
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
- Frameworks: TensorFlow, PyTorch, Scikit-learn, spaCy
- Platforms: Google Colab, Jupyter Notebook
- Languages: Python
- Datasets: Iris Species, MNIST, Amazon Product Reviews
- Deployment: Streamlit (Bonus Task)
- Python 3.8 or higher
- pip (Python package manager)
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.