Repository navigation
feat(intermediate): add student feedback sentiment analyzer starter project - #10
Merged
UmeshCode1 merged 1 commit intoOct 23, 2026
Conversation
🎉 Thank you for your Pull Request, @Hitesh-XS!Welcome to AIML Club OCT! 🚀 A maintainer will review your code shortly. In the meantime:
Happy coding! 💻✨ |
UmeshCode1
approved these changes
Oct 23, 2026
UmeshCode1
left a comment
Member
There was a problem hiding this comment.
Fantastic implementation, @Hitesh-XS! 🌟
This is a stellar addition to the intermediate track:
- Thoughtful multi-model benchmarking (Logistic Regression, Linear SVC, Complement NB, and soft-voting Ensemble) with cross-validation.
- Realistic test set splits (in-distribution vs unseen phrasing vs gold standard).
- Clause-level aspect-based sentiment analysis (lectures, labs, �ssignments, etc.) with mixed-opinion detection.
- Clean interactive CLI and persistence support (--save / --load).
Approving and merging now! We'll integrate the index link into intermediate/README.md. Thank you for contributing to AIML Club OCT! 🚀
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #8
📌 Summary
Adds a new intermediate starter project under
intermediate/student-feedback-sentiment-analyzer/. This project trains, compares, and evaluates classic Machine Learning models to classify course feedback into Positive, Neutral, or Negative categories, and performs aspect-based sentiment analysis (which part of the course each opinion is about).🛠️ What's Included
1.
train_and_evaluate.py"not helpful"→not_helpful, scope ends at punctuation or "but"), contraction expansion, and hybrid TF-IDF features: word n-grams (1–2) plus character n-grams (3–5).macro-F1). Optional--tunegrid-searches Logistic Regression (n-grams,C).--metrics-out.lectures,labs,assignments,instructor,exams,materials,pace). Mixed comments like "labs were helpful, but deadlines were too tight" get a sentiment per aspect, plus confidence and low-confidence flags.--save/--loadto reuse a trained model, and--predict "..."to analyze a single comment.--data feedback.csv(columnstext,label) trains on real comments.--interactiveCLI flag for testing custom comments in real time.2. Supporting Files
requirements.txt: Standard dependencies (scikit-learn,pandas,numpy,joblib).README.md: Covers project architecture, evaluation methodology, setup instructions, usage examples, sample results, and system limitations.intermediate/README.md: Updated index linking to the new project.📊 Sample Results (default synthetic run, macro-F1)
--datais recommended.train_and_evaluate.py(preprocessing functions are pickled by reference).🧪 How to Test
✅ Checklist
README.mdandrequirements.txtintermediate/README.mdindex