How rmarufs/edudata-analytics works
EduStat AI is a Streamlit application for educational-data analysis, cleaning, statistical comparison, and predictive modeling. Its principal workflow is to upload a dataset, clean it automatically or manually, explore and compare the data, then train models and request AI guidance. The README also describes project and dataset persistence through Supabase. Page capabilities and navigation are documented, but most page implementations were not sampled, so page-to-helper wiring is shown only where supported by the documented workflow; GMDH internals are grounded in sampled source.
Main entry points: Home.py App entry and navigation · 09_CatBoost_Modeling.py CatBoost modeling · 10_GMDH_Modeling.py GMDH modeling · database_utils.py Project and dataset persistence
Components 24
Application
- App entry and navigation
Home.py
Data preparation
- Dataset upload
pages/01_Data_Upload.py - Active dataset
- Automatic cleaning
pages/02_Auto_Processing.py - Missing values
pages/03_Missing_Values.py - Outlier handling
pages/04_Outlier_Handling.py
Analysis
- Visual analysis
pages/05_Visual_Analysis.py - Pivot tables
pages/06_Pivot_Tables.py - Group comparison
pages/07_Group_Comparison.py
Modeling and assistance
- Logistic regression
pages/08_Logistic_Regression.py - CatBoost modeling
pages/09_CatBoost_Modeling.py - CatBoost routines
Utils/catboost_modeling.py - GMDH modeling
pages/10_GMDH_Modeling.py - GMDH regressor
gmdh/model.py - Layer selection
gmdh/layer.py - Polynomial neuron
gmdh/neuron.py - AI chat
pages/11_AI_Chat.py - Chat integration
Utils/chat.py - LLM requests
Utils/AI_helper.py
Persistence
- Project and dataset persistence
Utils/database_utils.py - Supabase client
Utils/supabase_client.py
Other components
- Analyst
- Supabase storage
- OpenAI or OpenRouter
Connections 32
- Analyst → App entry and navigation: opens
- App entry and navigation → Dataset upload: navigates
- App entry and navigation → Automatic cleaning: navigates
- App entry and navigation → Missing values: navigates
- App entry and navigation → Outlier handling: navigates
- App entry and navigation → Visual analysis: navigates
- App entry and navigation → Pivot tables: navigates
- App entry and navigation → Group comparison: navigates
- App entry and navigation → Logistic regression: navigates
- App entry and navigation → CatBoost modeling: navigates
- App entry and navigation → GMDH modeling: navigates
- App entry and navigation → AI chat: navigates
- Dataset upload → Active dataset: loads
- Automatic cleaning → Active dataset: cleans
- Missing values → Active dataset: edits
- Outlier handling → Active dataset: edits
- Visual analysis → Active dataset: analyzes
- Pivot tables → Active dataset: summarizes
- Group comparison → Active dataset: compares
- Logistic regression → Active dataset: trains from
- CatBoost modeling → Active dataset: trains from
- CatBoost modeling → CatBoost routines: calls
- GMDH modeling → Active dataset: trains from
- GMDH modeling → GMDH regressor: fits and predicts
- GMDH regressor → Layer selection: builds layers
- Layer selection → Polynomial neuron: fits candidates
- AI chat → Chat integration: uses
- Chat integration → LLM requests: requests completion
- LLM requests → OpenAI or OpenRouter: calls API
- Project and dataset persistence → Supabase client: gets client
- Supabase client → Supabase storage: connects
- Project and dataset persistence → Supabase storage: reads and writes