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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: featcopilot
3
- Version: 0.2.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.0.0; extra == "benchmark"
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
+ [![FeatCopilot Introduction](https://img.youtube.com/vi/H7m50TLGHFk/0.jpg)](https://www.youtube.com/watch?v=H7m50TLGHFk)
70
+
66
71
  ## 📊 Benchmark Highlights
67
72
 
68
- ### Tabular Engine (Fast Mode - <1s)
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
- | Task Type | Average Improvement | Best Case |
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
- ### LLM Engine (With LiteLLM - 30-60s)
84
+ | Metric | Value |
85
+ |--------|-------|
86
+ | **Datasets** | 41 |
87
+ | **Improved** | 19 (46%) |
88
+ | **Best Improvement** | +8.55% (abalone) |
78
89
 
79
- | Task Type | Average Improvement | Best Case |
80
- |-----------|--------------------:|----------:|
81
- | **Regression** | **+7.79%** | +19.66% (Retail Demand) |
82
- | Classification | +2.38% | +2.87% |
90
+ ### Key Results
83
91
 
84
- - ✅ **12/12 wins** on text classification (tabular mode)
85
- - 🧠 **+19.66% max improvement** with LLM-powered features
86
- - **<1 second** (tabular) or **30-60s** (with LLM) processing time
87
- - 📈 Largest gains with simple models (LogisticRegression, Ridge)
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 (+19.66% max improvement)
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,,