Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 12 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,25 @@ install:
python -m pip install polars pandas pytest ruff

docs:
mkdocs serve
marimo edit docs.py

docs-serve:
marimo run docs.py

docs-build:
marimo export html-wasm docs.py -o docs/index.html
@echo "WASM export complete. Documentation available at docs/index.html"

docs-deploy:
mkdocs gh-deploy
make docs-build
@echo "Documentation built for deployment. Commit and push to deploy via GitHub Pages."

clean:
rm -rf .pytest_cache build dist scikit_lego.egg-info .ipynb_checkpoints .coverage* .mypy_cache .ruff_cache

lint:
ruff format playtime tests
ruff check playtime tests --fix
ruff format skplay tests
ruff check skplay tests --fix

check: lint precommit test clean

Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# scikit-playtime
# scikit-play

> Rethinking machine learning pipelines a bit.

## What does `scikit-playtime` do?
## What does `scikit-play` do?

I was wondering if there might be an easier way to construct scikit-learn pipelines. Don't get me wrong, scikit-learn is amazing when you want elaborate pipelines ([exhibit A](https://www.youtube.com/watch?v=7TZ7j4HSzmE), [exhibit B](https://www.youtube.com/watch?v=lhMqqauXtW0)) but maybe there is also a place for something more lightweight and playful. This library is all about exploring that.

Expand Down Expand Up @@ -45,12 +45,12 @@ This pipeline takes the **age**, **fare**, **sibsp** and **parch** features as-i

The pipeline works, and it's fine, but you could wonder if this is *easy*. After all, you do need to know scikit-learn fairly well in order to build a pipeline this way and you may also need to appreciate Python. There's some nesting happening in here as well, so for a novice or somebody who just immediately wants to make a quick model ... there's some stuff that gets in the way. All of this is fine when you consider that scikit-learn needs to allow for elaborate pipelines ... but if you just want something dead simple ... then you may appreciate another syntax instead.

## Enter playtime.
## Enter skplay.

Playtime offers an API that allows you to declare the aforementioned pipeline by doing this instead:
Skplay offers an API that allows you to declare the aforementioned pipeline by doing this instead:

```python
from playtime import feats, onehot
from skplay import feats, onehot

formula = feats("age", "fare", "sibsp", "parch") + onehot("sex", "pclass")
```
Expand All @@ -62,16 +62,16 @@ This `formula` object is just an object that can accumulate components.
formula
```

![playtime](docs/imgs/pipe-demo.png)
![skplay](docs/imgs/pipe-demo.png)

It's pretty much the same pipeline as before, but it's a lot easier to go ahead and declare. You're mostly dealing with column names and how to encode them, instead of thinking about how scikit-learn constructs a pipeline.

This is what `scikit-playtime` is all about, but this is just the start of what it can do. If that sounds interest you can read more on the [documentation page](https://koaning.github.io/scikit-playtime/).
This is what `scikit-play` is all about, but this is just the start of what it can do. If that sounds interest you can read more on the [documentation page](https://koaning.github.io/scikit-play/).

Alternative you may also explore this tool by installing it via:

```
python -m pip install scikit-playtime
python -m pip install scikit-play
```

## Thanks
Expand Down
Loading
Loading