No project description provided
Project description
Deep Feature Synthesis in Rust
This is a project to implement the Deep Feature Synthesis algorithm in Rust.
Running in Python
Create virtualenv
python -m venv .env
source .env/bin/activate
pip install maturin
pip install featuretools
pip install pandas
Ensure Cargo.toml is configured
[lib]
name = "rust_dfs"
crate-type = ["cdylib"]
Run maturin
maturin develop
Using from python
# Import Featuretools, rust_dfs, and some other utility functions
import featuretools as ft
from rust_dfs.utils import *
from rust_dfs import generate_features
# Generate a fake dataset with 2 Integer columns
df = generate_fake_dataframe(
n_rows=10,
col_defs=[
("Integer", 2),
# ("Boolean", 2),
]
)
# pick some primitives
f_primitives = [
ft.primitives.GreaterThan,
ft.primitives.LessThan
]
# or use all of them
# f_primitives = list(ft.primitives.utils.get_transform_primitives().values())
# convert datafame to an entityset
es = df_to_es(df)
# run dfs with features_only=True
ft_feats = ft.dfs(
entityset=es,
target_dataframe_name="nums",
trans_primitives=f_primitives,
features_only=True,
max_depth=1
)
# ft_feats = [<Feature: F_0>, <Feature: F_1>, <Feature: F_0 > F_1>, <Feature: F_1 > F_0>]
# Convert back into a format that we can use to compare with rust
c_feats = convert_features(ft_feats)
# Now run using Rust
# convert featuretools primitives to rust primitives
r_primitives = convert_primitives(f_primitives)
# convert dataframe to rust features
r_features = dataframe_to_features(es.dataframes[0])
# generate engineered features using Rust (create new features only)
r_derived_feats = generate_features(r_features, r_primitives)
# r_derived_feats = [GreaterThan_F_0_F_1 : Unknown : Unknown, GreaterThan_F_1_F_0 : Unknown : Unknown]
Run main.rs
To run as a rust binary:
cargo run --no-default-features
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rust_dfs-0.1.4.tar.gz
(28.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rust_dfs-0.1.4.tar.gz.
File metadata
- Download URL: rust_dfs-0.1.4.tar.gz
- Upload date:
- Size: 28.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.12.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb9f0db23766c308b8417e5097fcfaa907fdf5d401943422d9b4fdc31b9b4501
|
|
| MD5 |
7fe7c282b18390e40dac01e2e208d6d4
|
|
| BLAKE2b-256 |
c1efac1134ee03a320d6aa4e22e13dd0f0ff11e07b457078b6fd72217e3baaba
|
File details
Details for the file rust_dfs-0.1.4-cp39-cp39-macosx_10_7_x86_64.whl.
File metadata
- Download URL: rust_dfs-0.1.4-cp39-cp39-macosx_10_7_x86_64.whl
- Upload date:
- Size: 317.1 kB
- Tags: CPython 3.9, macOS 10.7+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/0.12.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62ffcd8c2d83b076f30485ad65e2777d95a374d4d6813fc6e2e7563022ea91bd
|
|
| MD5 |
c8d70dbb3d3629ab651d86ff85fbd753
|
|
| BLAKE2b-256 |
9114be9abd6bb058a2a6ad65af62432078a6fe42e093beb032414fb48a6d7654
|