CruxBit
Back to catalog
EasyTechnologyeducation

Class Imbalance Correction Demo Using SMOTE Oversampling

Added Jun 2025 3 design docs

Fraud detection, medical screening, and defect prediction all share an inconvenient property: the events worth catching are rare, so naive models score high accuracy by ignoring them entirely. Handling class imbalance is one of the first hard lessons in applied machine learning, and this project teaches it by demonstration rather than by warning.

The intern builds a Streamlit application that trains a scikit-learn classifier on an imbalanced dataset twice — once on the raw data and once after applying SMOTE to synthesize minority-class examples — and presents the two results side by side. The app visualizes the class distribution before and after oversampling and reports precision, recall, and F1 for both runs, making it obvious how a model that looked accurate was actually blind to the minority class, and exactly what resampling recovers. Users can adjust the imbalance ratio and resampling settings to explore edge cases interactively.

The intern finishes understanding evaluation beyond accuracy, the mechanics and pitfalls of synthetic oversampling, and how to design a demonstration that makes a subtle statistical issue unmistakable to a general audience — a valuable communication skill in any data role.

Related projects

You might also like

TechnologyMedium

Prompt Template Design and Testing Workbench for Educators

Teachers and instructional designers increasingly build AI-driven learning modules, such as quiz generators, explanation assistants, and feedback tools, and every one of them lives or dies by its prompts. Yet educators typically iterate on prompts by trial and error in a chat window, with no way to save what worked, compare variations, or enforce consistent output formats. Prompt engineering needs a workbench, the way code has an IDE. The intern builds that workbench as a Streamlit application in Python, using LangChain as the engine. The tool lets users create parameterized prompt templates with variables such as subject, difficulty, and student level; run them against OpenAI models; and compare outputs across template variations side by side. Output parsers enforce structured results, so a quiz template reliably yields well-formed questions and answers rather than loose prose, and chain sequencing lets users compose multi-step flows in which one prompt's output feeds the next, mirroring how real learning modules are assembled. The intern implements template storage, the comparison runner, and the parser configuration interface. The project demonstrates systematic prompt engineering as a discipline: template design, structured output enforcement, chain composition, and building a tool that turns an ad hoc craft into a repeatable process for a non-technical audience.

educationgenerative-ailangchainopenai+2
PRD · HLD · LLD includedView