Metadata-Version: 2.4
Name: causal-drift
Version: 0.1.0
Summary: A causal feature selection (Causal DRIFT: Causal Dimensionality Reduction via Inference of Feature Treatments) library using residual-based ATE estimation.
Home-page: https://github.com/SakibHasanSimanto/deepCausal
Author: Kazi Sakib Hasan
Author-email: simanto.alt@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scikit-learn
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

﻿# deepCausal

**deepCausal** is a Python library for causal feature ranking and selection based on residual treatment effect estimation.  
It uses double machine learning and residualization techniques to estimate the causal impact (ATE) of each feature on a continuous or categorical outcome.

## 🔍 Key Features

- Supports both **continuous** and **categorical** outcomes
- Uses **residual-on-residual regression** for causal interpretation
- Identifies **confounders** automatically
- Ranks features by **causal strength**, not just correlation

## 🚀 Usage 

from deepCausal import DeepCausal
import pandas as pd
import numpy as np

df = pd.DataFrame({
    'X1': np.random.randn(100),
    'X2': np.random.rand(100),
    'X3': np.random.randn(100),
    'Y': np.random.randn(100)
})

X = df[['X1', 'X2', 'X3']]
y = df['Y']

model = DeepCausal()
model.fit(X, y, outcome_type='continuous')

print(model.get_feature_ate())

📄 License
This project is licensed under the MIT License. 

🧪 Disclaimer
This method is experimental and currently under research evaluation. Feedback and pull requests are welcome!
