If you like this project, please give it a ⭐️ on GitHub!
A modern, modular Streamlit web platform for symbolic regression using PyKAN.
- Upload CSV dataset
- Select independent/dependent variables and configure PyKAN parameters
- Start training with progress and logs
- Visualize results and compare test set predictions
- Modular multi-page design for maintainability
- English UI and code comments
- Engineering best practices: docstrings, modularity, session utils, config, and tests
.
├── app.py # Home page and global config
├── pages/ # Each page is a separate module
│ ├── 1_upload_data.py
│ ├── 2_configure_parameters.py
│ ├── 3_train_model.py
│ └── 4_visualization.py
├── src/ # Core logic modules
│ ├── data_utils.py
│ ├── config.py
│ ├── pykan_runner.py
│ ├── kan_dictionary.py
│ ├── feature_engineering.py
│ └── plot_utils.py
├── utils/ # Utility functions (e.g., session)
│ └── session.py
├── tests/ # Unit tests
├── requirements.txt # Dependencies
├── .env # Environment/config (optional)
└── README.md
pip install -r requirements.txt
streamlit run app.py --server.port 8080 --server.address 0.0.0.0
You can try the live demo here: https://pykanwebui.streamlit.app/
- Add new pages in
pages/