Selected work
Small tools, clear boundaries.
Each project tackles one practical part of applied AI and keeps the critical decisions visible.
ML-Agent ↗
Agentic AutoML for tabular data, with deterministic validation and model selection.
pyinterpret ↗
One Python API for local and global model explanations across several methods.
ERP-Assistant ↗
Natural-language operations and interactive org charts for ERP workflows.
Controlled AutoML
A hard boundary around the agent.
ML-Agent profiles a tabular dataset and tests a small set of scikit-learn pipelines. An LLM can propose the next experiment, but ordinary code checks the plan, runs cross-validation, and chooses the winner. The planner receives column names, summary statistics, and earlier results—not the dataset rows.
uv sync
uv run mlagent run demo:breast_cancer --target target --planner fake
Each run writes a predictor, schema, leaderboard, run record, and Markdown report. The offline planner exercises the full pipeline without an account; Codex, Claude, and OpenAI API planners are also supported.
Model interpretation
Explanations without a new workflow each time.
pyinterpret brings local attribution and global inspection behind a consistent interface. Use SHAP or LIME for individual predictions, then permutation importance or partial dependence for model-level behaviour.
pip install pyinterpret[all]
from pyinterpret import SHAPExplainer
explainer = SHAPExplainer(model, explainer_type="tree")
result = explainer.explain_instance(X.iloc[0])
The package supports tabular, text, image, and time-series inputs, with integrations for scikit-learn and pandas.
Conversational ERP
Structured tasks through a conversation.
ERP-Assistant routes plain-English requests through a LangGraph workflow to add or delete users, customers, and offices. It can ingest CSV, XLSX, JSON, PDF, and TXT files, normalize their records, and show the stored entities in a tabular browser.
uvicorn src.backend:app --reload --port 8000
streamlit run app.py
A separate workflow turns unstructured reporting relationships into a typed employee hierarchy and renders an interactive organizational chart with NetworkX and Plotly.