featcopilot 0.2.0__py3-none-any.whl → 0.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- featcopilot/__init__.py +7 -0
- featcopilot/core/__init__.py +2 -0
- featcopilot/core/transform_rule.py +276 -0
- featcopilot/engines/tabular.py +145 -2
- featcopilot/engines/text.py +346 -8
- featcopilot/engines/timeseries.py +230 -1
- featcopilot/llm/__init__.py +2 -0
- featcopilot/llm/copilot_client.py +50 -17
- featcopilot/llm/semantic_engine.py +652 -10
- featcopilot/llm/transform_rule_generator.py +403 -0
- featcopilot/selection/importance.py +35 -7
- featcopilot/selection/redundancy.py +35 -9
- featcopilot/selection/statistical.py +103 -33
- featcopilot/selection/unified.py +54 -3
- featcopilot/stores/__init__.py +2 -0
- featcopilot/stores/rule_store.py +343 -0
- featcopilot/transformers/sklearn_compat.py +10 -1
- {featcopilot-0.2.0.dist-info → featcopilot-0.3.0.dist-info}/METADATA +27 -19
- featcopilot-0.3.0.dist-info/RECORD +38 -0
- featcopilot-0.2.0.dist-info/RECORD +0 -35
- {featcopilot-0.2.0.dist-info → featcopilot-0.3.0.dist-info}/WHEEL +0 -0
- {featcopilot-0.2.0.dist-info → featcopilot-0.3.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: featcopilot
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Next-generation LLM-powered auto feature engineering framework with GitHub Copilot SDK
|
|
5
5
|
Author: FeatCopilot Contributors
|
|
6
6
|
License: MIT
|
|
@@ -46,8 +46,9 @@ Provides-Extra: benchmark
|
|
|
46
46
|
Requires-Dist: github-copilot-sdk>=0.1.0; extra == "benchmark"
|
|
47
47
|
Requires-Dist: statsmodels>=0.13.0; extra == "benchmark"
|
|
48
48
|
Requires-Dist: flaml[automl,blendsearch]>=2.0.0; extra == "benchmark"
|
|
49
|
-
Requires-Dist: autogluon.tabular>=1.
|
|
49
|
+
Requires-Dist: autogluon.tabular[fastai]>=1.5.0; extra == "benchmark"
|
|
50
50
|
Requires-Dist: h2o>=3.40.0; extra == "benchmark"
|
|
51
|
+
Requires-Dist: numpy<2; extra == "benchmark"
|
|
51
52
|
Provides-Extra: dev
|
|
52
53
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
53
54
|
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
@@ -63,28 +64,35 @@ Requires-Dist: pre-commit>=3.6.0; extra == "dev"
|
|
|
63
64
|
|
|
64
65
|
FeatCopilot automatically generates, selects, and explains predictive features using semantic understanding. It analyzes column meanings, applies domain-aware transformations, and provides human-readable explanations—turning raw data into ML-ready features in seconds.
|
|
65
66
|
|
|
67
|
+
## 🎬 Introduction Video
|
|
68
|
+
|
|
69
|
+
[](https://www.youtube.com/watch?v=H7m50TLGHFk)
|
|
70
|
+
|
|
66
71
|
## 📊 Benchmark Highlights
|
|
67
72
|
|
|
68
|
-
###
|
|
73
|
+
### Simple Models Benchmark (42 Datasets)
|
|
74
|
+
|
|
75
|
+
| Configuration | Improved | Avg Improvement | Best Improvement |
|
|
76
|
+
|---------------|----------|-----------------|------------------|
|
|
77
|
+
| **Tabular Engine** | 20 (48%) | +4.54% | +197% (delays_zurich) |
|
|
78
|
+
| **Tabular + LLM** | 23 (55%) | +6.12% | +420% (delays_zurich) |
|
|
79
|
+
|
|
80
|
+
Models: RandomForest (n_estimators=200, max_depth=20), LogisticRegression/Ridge
|
|
69
81
|
|
|
70
|
-
|
|
71
|
-
|-----------|--------------------:|----------:|
|
|
72
|
-
| **Text Classification** | **+12.44%** | +49.02% (News Headlines) |
|
|
73
|
-
| Time Series | +1.51% | +12.12% (Retail Demand) |
|
|
74
|
-
| Classification | +0.54% | +4.35% |
|
|
75
|
-
| Regression | +0.65% | +5.57% |
|
|
82
|
+
### AutoML Benchmark (FLAML, 120s budget)
|
|
76
83
|
|
|
77
|
-
|
|
84
|
+
| Metric | Value |
|
|
85
|
+
|--------|-------|
|
|
86
|
+
| **Datasets** | 41 |
|
|
87
|
+
| **Improved** | 19 (46%) |
|
|
88
|
+
| **Best Improvement** | +8.55% (abalone) |
|
|
78
89
|
|
|
79
|
-
|
|
80
|
-
|-----------|--------------------:|----------:|
|
|
81
|
-
| **Regression** | **+7.79%** | +19.66% (Retail Demand) |
|
|
82
|
-
| Classification | +2.38% | +2.87% |
|
|
90
|
+
### Key Results
|
|
83
91
|
|
|
84
|
-
- ✅
|
|
85
|
-
- 🧠 **+
|
|
86
|
-
-
|
|
87
|
-
-
|
|
92
|
+
- ✅ **+197% improvement** on delays_zurich (tabular only)
|
|
93
|
+
- 🧠 **+420% improvement** with LLM-enhanced features
|
|
94
|
+
- 📈 **+8.98%** on abalone regression task
|
|
95
|
+
- 🚀 **+5.68%** on complex_classification
|
|
88
96
|
|
|
89
97
|
[View Full Benchmark Results](https://thinkall.github.io/featcopilot/user-guide/benchmarks/)
|
|
90
98
|
|
|
@@ -131,7 +139,7 @@ print(f"Features: {X.shape[1]} -> {X_transformed.shape[1]}")
|
|
|
131
139
|
```python
|
|
132
140
|
from featcopilot import AutoFeatureEngineer
|
|
133
141
|
|
|
134
|
-
# LLM-powered semantic features (+
|
|
142
|
+
# LLM-powered semantic features (+420% max improvement)
|
|
135
143
|
engineer = AutoFeatureEngineer(
|
|
136
144
|
engines=['tabular', 'llm'],
|
|
137
145
|
max_features=50
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
featcopilot/__init__.py,sha256=nTvN_SeJQwZWbiZopiPcB56MF34ONLP5CVKgpml1xcE,1057
|
|
2
|
+
featcopilot/core/__init__.py,sha256=FA_2a1JRjEgqaYLiWD8turixWBJzWwD9WhaUZaaUBtk,417
|
|
3
|
+
featcopilot/core/base.py,sha256=lN1zfV6GHCNy2XSNV9OH2dXtvwrZZsu376kT_ExrZto,6090
|
|
4
|
+
featcopilot/core/feature.py,sha256=BzzRJB6RH5RlaOszIvVqcRfQ2F0vfkP_sctfpYAlb-Y,7441
|
|
5
|
+
featcopilot/core/registry.py,sha256=EK4lleLShhMkGRXI1evv6SsVO81rpLLkzJbjImHryJE,4030
|
|
6
|
+
featcopilot/core/transform_rule.py,sha256=aCT3Fvvgi7hFnFn9t0CevY8UpT3ZABwGCZvTr2P9uBo,9420
|
|
7
|
+
featcopilot/engines/__init__.py,sha256=bXY5eiEQTZ9IxPY1fTESw4v1-nXFkegSs8p4VYGr7TQ,360
|
|
8
|
+
featcopilot/engines/relational.py,sha256=MUqOZgOwKmp7sMsE7lCMbLEjqekBPpcdLXeXkCEKzPM,8402
|
|
9
|
+
featcopilot/engines/tabular.py,sha256=8OMFl3TyfZPDwIyOnhLmcAvGw5INI92Ws6KYSe-BOPY,17733
|
|
10
|
+
featcopilot/engines/text.py,sha256=EWmSftvZ9z-JQFG4I194uKf81PPG_jluToajoPcyTRk,21998
|
|
11
|
+
featcopilot/engines/timeseries.py,sha256=0erGr987-H_a5iQuKhLVK8Zk1_8KJs7H6-09pU1O1oU,22188
|
|
12
|
+
featcopilot/llm/__init__.py,sha256=i_g4veX3aPFRSpffP3h-IZN-VvaWSMtfNT5kE7fup5w,735
|
|
13
|
+
featcopilot/llm/code_generator.py,sha256=p6qSSZ4ul8kxOBjmnAEAU_1dwtVMJWqIfDiM5UXkZqY,9814
|
|
14
|
+
featcopilot/llm/copilot_client.py,sha256=5ZjYQ5JO__RIxVV4_ZFZ-75gFMfgWoTv99uE9I7KXTg,20268
|
|
15
|
+
featcopilot/llm/explainer.py,sha256=5ukhm27zqyH3oHDOgCHrw3OeJMDEt9olIOYD_hTHqbA,6232
|
|
16
|
+
featcopilot/llm/litellm_client.py,sha256=HSrzJ9-cvxaDdqv142cgoeAqJ2WcIcwVhgz1Jb-PPv8,20443
|
|
17
|
+
featcopilot/llm/semantic_engine.py,sha256=2OC04PwUEYnBwe6MFLT0aPW1HzW2egP8vQsBNeT13LI,40309
|
|
18
|
+
featcopilot/llm/transform_rule_generator.py,sha256=2LUXshjLh-IRMdYgm5s6Vjs_Pvna_Hgbwg66efzs_1s,13510
|
|
19
|
+
featcopilot/selection/__init__.py,sha256=pjoos64ym3CR7Hk75qq2dY0NN4OT0Sn3hiBSG_h44SE,406
|
|
20
|
+
featcopilot/selection/importance.py,sha256=ieCZw4PvqLtoyl_mD349GBSOwnsrCAszwMbQYMcDqFc,6606
|
|
21
|
+
featcopilot/selection/redundancy.py,sha256=aRFlrwlYXWIrt2cEuciNSenvYj2eTb5lHuWCKhje6aw,7069
|
|
22
|
+
featcopilot/selection/statistical.py,sha256=Jowj5dMxzHkO96M6jROTJtu0tX9N3W99AThYO9bt8os,9226
|
|
23
|
+
featcopilot/selection/unified.py,sha256=xmVkXIMDqnCeyQE6OES3y1kVfnqImE7oHNbTVDo9bpc,9057
|
|
24
|
+
featcopilot/stores/__init__.py,sha256=KCcspMcFfm3-OA5JrcXgNHipYbgNWsK3zg0jAlp0syA,526
|
|
25
|
+
featcopilot/stores/base.py,sha256=VzHUA1IYMUiP4-cE4SXt_xmgkk2raIz09-9aZ6szOxQ,4395
|
|
26
|
+
featcopilot/stores/feast_store.py,sha256=ej6b05JRMwXqQ8pTorxKH8LQ3JTlwzGAGNckZPzq7d8,19032
|
|
27
|
+
featcopilot/stores/rule_store.py,sha256=HZQ0eQv-P3w5R7hl-syeOnIgI8V38hpZZl5u4WMHPEs,9924
|
|
28
|
+
featcopilot/transformers/__init__.py,sha256=pHHSivxNVyC9AmKzdA8UJS0B-b9V1B4eI1QgTP0Z8uw,234
|
|
29
|
+
featcopilot/transformers/sklearn_compat.py,sha256=yXBhxfkU9VOBgpb-bS-1L4hUUUuqG0Hg2xFxx0N5zBE,14082
|
|
30
|
+
featcopilot/utils/__init__.py,sha256=aWRMS_4sZHdw8eTHBYT_O4qMYuM9EHsPGPlo5a-PzaE,489
|
|
31
|
+
featcopilot/utils/cache.py,sha256=CYIVXQU9dpVdrLkemhjVAoCzXRMRzuQ-U36-q_8zDoc,6489
|
|
32
|
+
featcopilot/utils/logger.py,sha256=qJe4OT13TPanF-vebfs8BILmwkuV8zi2KSHlAUDaSnU,1334
|
|
33
|
+
featcopilot/utils/models.py,sha256=X9amoyLjy8umaCvbp0G6BkmzmasvAYZc2xVKvD6yeAA,7317
|
|
34
|
+
featcopilot/utils/parallel.py,sha256=k0ePtnI48aXNomD0lBBptla0RlhCX1-5xyEDD9zbkDQ,2963
|
|
35
|
+
featcopilot-0.3.0.dist-info/METADATA,sha256=0l3NT1k8X83RnIyz5mAPMMb5ZPVzFeJ_R-LX83NBDew,7936
|
|
36
|
+
featcopilot-0.3.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
37
|
+
featcopilot-0.3.0.dist-info/top_level.txt,sha256=Lf6lB8VBDX71TBzSXW3qq44RO5hIUKQ6DMi_dL8G_Ak,12
|
|
38
|
+
featcopilot-0.3.0.dist-info/RECORD,,
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
featcopilot/__init__.py,sha256=pHamq5ULkm-VFVvy0JQFu-x3CRNqY4mZXppVqV_W4f0,763
|
|
2
|
-
featcopilot/core/__init__.py,sha256=TX_AsPRsVDY1ZKO-ApK7qBFhbgngQbYNamhzYU9P3P8,338
|
|
3
|
-
featcopilot/core/base.py,sha256=lN1zfV6GHCNy2XSNV9OH2dXtvwrZZsu376kT_ExrZto,6090
|
|
4
|
-
featcopilot/core/feature.py,sha256=BzzRJB6RH5RlaOszIvVqcRfQ2F0vfkP_sctfpYAlb-Y,7441
|
|
5
|
-
featcopilot/core/registry.py,sha256=EK4lleLShhMkGRXI1evv6SsVO81rpLLkzJbjImHryJE,4030
|
|
6
|
-
featcopilot/engines/__init__.py,sha256=bXY5eiEQTZ9IxPY1fTESw4v1-nXFkegSs8p4VYGr7TQ,360
|
|
7
|
-
featcopilot/engines/relational.py,sha256=MUqOZgOwKmp7sMsE7lCMbLEjqekBPpcdLXeXkCEKzPM,8402
|
|
8
|
-
featcopilot/engines/tabular.py,sha256=YPjqc9vxCI9-n9pzP3Bm4w2MZ5KHKE5XOk1BdI_nqSc,10878
|
|
9
|
-
featcopilot/engines/text.py,sha256=sixWPg7iuf1NGCWo51gIVZ6DMEf0NUrKA5HECcLXF1k,7496
|
|
10
|
-
featcopilot/engines/timeseries.py,sha256=FdwpOUJJToIkT1RR4VTpFIWYSvEfl_5pXJXf2qAuKm8,13644
|
|
11
|
-
featcopilot/llm/__init__.py,sha256=NswbNiGISinrIzx0EKwaL8fZL4t0DDDD8CIKZ3v_vps,629
|
|
12
|
-
featcopilot/llm/code_generator.py,sha256=p6qSSZ4ul8kxOBjmnAEAU_1dwtVMJWqIfDiM5UXkZqY,9814
|
|
13
|
-
featcopilot/llm/copilot_client.py,sha256=PX7JKBvF0dpnTNMRn_eZcH3swkvZqGQ6pKRICoxwF6c,19034
|
|
14
|
-
featcopilot/llm/explainer.py,sha256=5ukhm27zqyH3oHDOgCHrw3OeJMDEt9olIOYD_hTHqbA,6232
|
|
15
|
-
featcopilot/llm/litellm_client.py,sha256=HSrzJ9-cvxaDdqv142cgoeAqJ2WcIcwVhgz1Jb-PPv8,20443
|
|
16
|
-
featcopilot/llm/semantic_engine.py,sha256=6eg_9Ru_llo0W4wcdIPbMZOlx_p1MTdmCWLQ85g2v6o,14466
|
|
17
|
-
featcopilot/selection/__init__.py,sha256=pjoos64ym3CR7Hk75qq2dY0NN4OT0Sn3hiBSG_h44SE,406
|
|
18
|
-
featcopilot/selection/importance.py,sha256=GEUXfSwknLweAnbdaKX1OZuOn7tfhn-SPyIGiuBSvBg,5575
|
|
19
|
-
featcopilot/selection/redundancy.py,sha256=2S-fP20nfTPPikgIQFc0dvfJU3SprThake5waDdINF4,5398
|
|
20
|
-
featcopilot/selection/statistical.py,sha256=dey-vX-WKT9rrDtHPLYyksfJLHQqdREjSnrXJIUPT0I,6269
|
|
21
|
-
featcopilot/selection/unified.py,sha256=7H8USqe59FLA6cCXJC2etP8Cp6YMLJW3rwaNjIS_iUI,6358
|
|
22
|
-
featcopilot/stores/__init__.py,sha256=w_Ap3jA8pbV7eij3jK6TxAapG1O1tdKFAmUvAPcSdZA,439
|
|
23
|
-
featcopilot/stores/base.py,sha256=VzHUA1IYMUiP4-cE4SXt_xmgkk2raIz09-9aZ6szOxQ,4395
|
|
24
|
-
featcopilot/stores/feast_store.py,sha256=ej6b05JRMwXqQ8pTorxKH8LQ3JTlwzGAGNckZPzq7d8,19032
|
|
25
|
-
featcopilot/transformers/__init__.py,sha256=pHHSivxNVyC9AmKzdA8UJS0B-b9V1B4eI1QgTP0Z8uw,234
|
|
26
|
-
featcopilot/transformers/sklearn_compat.py,sha256=rf9tapjbiRT6Bx-hU_t-7UMncrKGwTaKn45qHcYWfUI,13637
|
|
27
|
-
featcopilot/utils/__init__.py,sha256=aWRMS_4sZHdw8eTHBYT_O4qMYuM9EHsPGPlo5a-PzaE,489
|
|
28
|
-
featcopilot/utils/cache.py,sha256=CYIVXQU9dpVdrLkemhjVAoCzXRMRzuQ-U36-q_8zDoc,6489
|
|
29
|
-
featcopilot/utils/logger.py,sha256=qJe4OT13TPanF-vebfs8BILmwkuV8zi2KSHlAUDaSnU,1334
|
|
30
|
-
featcopilot/utils/models.py,sha256=X9amoyLjy8umaCvbp0G6BkmzmasvAYZc2xVKvD6yeAA,7317
|
|
31
|
-
featcopilot/utils/parallel.py,sha256=k0ePtnI48aXNomD0lBBptla0RlhCX1-5xyEDD9zbkDQ,2963
|
|
32
|
-
featcopilot-0.2.0.dist-info/METADATA,sha256=9p7mmGYqFf4gerx16TnIxOLUueLxU5DBATWivlapS9k,7763
|
|
33
|
-
featcopilot-0.2.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
34
|
-
featcopilot-0.2.0.dist-info/top_level.txt,sha256=Lf6lB8VBDX71TBzSXW3qq44RO5hIUKQ6DMi_dL8G_Ak,12
|
|
35
|
-
featcopilot-0.2.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|