Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

dkavargy/KANVAS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

17 Commits

Repository files navigation

KANVAS: Kolmogorov–Arnold Network Versatile Algorithmic Solution

License: MIT Python

KANvas is an open-source framework that classifies labor market job roles by distinguishing between traditional data science and GenAI-oriented positions. It leverages Kolmogorov–Arnold Networks (KANs) to provide an interpretable, compact, and effective classification model using skill-based inputs extracted from real-world job ads.


🔍 Overview

KANVAS follows a four-stage methodology:

  1. COLLECT – Scrape and clean from online job ads
  2. CLASSIFY – Use an LLM-based filter to label jobs as modern or traditional
  3. MODEL – Train a Kolmogorov–Arnold Network on sparse multi-hot encoded skill vectors
  4. EXPLAIN – Interpret results with SHAP to reveal key skill indicators

KANvas Schema

📁 Project Structure

KANvas/
├── data/ # Raw and processed job datasets
│ ├── raw_jobs.csv
│ └── processed_jobs.csv
│
├── notebooks/ # Jupyter notebooks for experimentation
│ ├── 01_data_collection.ipynb
│ ├── 02_classification.ipynb
│ └── 03_train_kan.ipynb
│
├── scripts/ # Reusable Python scripts
│ ├── extract_skills.py
│ ├── train_kan_model.py
│ └── shap_analysis.py
│
├── results/ # Output plots, metrics, model files
│ ├── shap_modern.png
│ └── shap_traditional.png
│
├── models/
│ └── kan_model.pt
│
├── docs/
│ └── figures/
│ └── kanvas_schema.png
│
├── LICENSE
├── README.md
├── requirements.txt
└── .gitignore

⚙️ Features

  • Interpretable classification of jobs using Kolmogorov–Arnold Networks (KANs)
  • SHAP visualizations for skill-level explainability
  • Skill extraction pipeline aligned with ESCO and GenAI lexicons
  • Fully reproducible in PyTorch and Python

🧠 Technologies

  • Python 3.10+
  • pandas, numpy, scikit-learn
  • torch, pykan, shap
  • tqdm, matplotlib

🚀 Getting Started

git clone https://github.com/your-org/kanvas.git
cd kanvas
pip install -r requirements.txt
MODEL_PATH=models/kan_model.pt
DATA_PATH=data/processed_jobs.csv

🔄 Reproducible Pipeline

python scripts/extract_skills.py

📊 Output Artifacts

python scripts/shap_analysis.py

About

A skill-based job classification framework using Kolmogorov–Arnold Networks (KANs)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /