Skip to content

Commit 1ad6ec2

Browse files
authored
Merge pull request #225 from DoubleML/s-restructure-doubleml
Restructure doubleml
2 parents 8431daf + ece1b45 commit 1ad6ec2

File tree

116 files changed

+1079
-837
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+1079
-837
lines changed

.github/workflows/codeql.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,18 @@ jobs:
2424

2525
steps:
2626
- name: Checkout
27-
uses: actions/checkout@v3
27+
uses: actions/checkout@v4
2828

2929
- name: Initialize CodeQL
30-
uses: github/codeql-action/init@v2
30+
uses: github/codeql-action/init@v3
3131
with:
3232
languages: ${{ matrix.language }}
3333
queries: +security-and-quality
3434

3535
- name: Autobuild
36-
uses: github/codeql-action/autobuild@v2
36+
uses: github/codeql-action/autobuild@v3
3737

3838
- name: Perform CodeQL Analysis
39-
uses: github/codeql-action/analyze@v2
39+
uses: github/codeql-action/analyze@v3
4040
with:
4141
category: "/language:${{ matrix.language }}"

.github/workflows/deploy_pkg.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ jobs:
1212
runs-on: ubuntu-latest
1313

1414
steps:
15-
- uses: actions/checkout@v3
15+
- uses: actions/checkout@v4
1616
with:
1717
persist-credentials: false
1818

1919
- name: Install python
20-
uses: actions/setup-python@v4
20+
uses: actions/setup-python@v5
2121
with:
2222
python-version: '3.8'
2323

@@ -32,7 +32,7 @@ jobs:
3232
pip install wheel
3333
python setup.py sdist bdist_wheel
3434
35-
- uses: actions/upload-artifact@v3
35+
- uses: actions/upload-artifact@v4
3636
with:
3737
name: DoubleML-pkg
3838
path: dist/

.github/workflows/pytest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ jobs:
3030
- {os: 'ubuntu-latest', python-version: '3.11'}
3131

3232
steps:
33-
- uses: actions/checkout@v3
33+
- uses: actions/checkout@v4
3434
with:
3535
fetch-depth: 2
3636
- name: Set up Python ${{ matrix.config.python-version }}
37-
uses: actions/setup-python@v4
37+
uses: actions/setup-python@v5
3838
with:
3939
python-version: ${{ matrix.config.python-version }}
4040
- name: Install OpenMP runtime for unit tests with xgboost learners

doubleml/__init__.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,33 @@
11
from pkg_resources import get_distribution
22

3-
from .double_ml_plr import DoubleMLPLR
4-
from .double_ml_pliv import DoubleMLPLIV
5-
from .double_ml_irm import DoubleMLIRM
6-
from .double_ml_iivm import DoubleMLIIVM
3+
from .plm.plr import DoubleMLPLR
4+
from .plm.pliv import DoubleMLPLIV
5+
from .irm.irm import DoubleMLIRM
6+
from .irm.iivm import DoubleMLIIVM
77
from .double_ml_data import DoubleMLData, DoubleMLClusterData
8-
from .double_ml_blp import DoubleMLBLP
9-
from .double_ml_did import DoubleMLDID
10-
from .double_ml_did_cs import DoubleMLDIDCS
11-
from .double_ml_qte import DoubleMLQTE
12-
from .double_ml_pq import DoubleMLPQ
13-
from .double_ml_lpq import DoubleMLLPQ
14-
from .double_ml_cvar import DoubleMLCVAR
15-
from .double_ml_policytree import DoubleMLPolicyTree
8+
from .did.did import DoubleMLDID
9+
from .did.did_cs import DoubleMLDIDCS
10+
from .irm.qte import DoubleMLQTE
11+
from .irm.pq import DoubleMLPQ
12+
from .irm.lpq import DoubleMLLPQ
13+
from .irm.cvar import DoubleMLCVAR
14+
15+
from .utils.blp import DoubleMLBLP
16+
from .utils.policytree import DoubleMLPolicyTree
1617

1718
__all__ = ['DoubleMLPLR',
1819
'DoubleMLPLIV',
1920
'DoubleMLIRM',
2021
'DoubleMLIIVM',
2122
'DoubleMLData',
2223
'DoubleMLClusterData',
23-
'DoubleMLBLP',
2424
'DoubleMLDID',
2525
'DoubleMLDIDCS',
2626
'DoubleMLPQ',
2727
'DoubleMLQTE',
2828
'DoubleMLLPQ',
2929
'DoubleMLCVAR',
30+
'DoubleMLBLP',
3031
'DoubleMLPolicyTree']
3132

3233
__version__ = get_distribution('doubleml').version

doubleml/did/__init__.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"""
2+
The :mod:`doubleml.did` module implements double machine learning estimates based on difference in differences models.
3+
"""
4+
5+
from .did import DoubleMLDID
6+
from .did_cs import DoubleMLDIDCS
7+
8+
__all__ = [
9+
"DoubleMLDID",
10+
"DoubleMLDIDCS",
11+
]

doubleml/double_ml_did.py renamed to doubleml/did/did.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
from sklearn.utils.multiclass import type_of_target
44
import warnings
55

6-
from .double_ml import DoubleML
7-
from .double_ml_data import DoubleMLData
8-
from .double_ml_score_mixins import LinearScoreMixin
6+
from ..double_ml import DoubleML
7+
from ..double_ml_data import DoubleMLData
8+
from ..double_ml_score_mixins import LinearScoreMixin
99

10-
from ._utils import _dml_cv_predict, _get_cond_smpls, _dml_tune, _trimm
11-
from ._utils_checks import _check_score, _check_trimming, _check_finite_predictions, _check_is_propensity
10+
from ..utils._estimation import _dml_cv_predict, _get_cond_smpls, _dml_tune, _trimm
11+
from ..utils._checks import _check_score, _check_trimming, _check_finite_predictions, _check_is_propensity
1212

1313

1414
class DoubleMLDID(LinearScoreMixin, DoubleML):
@@ -117,6 +117,8 @@ def __init__(self,
117117

118118
# set stratication for resampling
119119
self._strata = self._dml_data.d
120+
if draw_sample_splitting:
121+
self.draw_sample_splitting()
120122

121123
# check learners
122124
ml_g_is_classifier = self._check_learner(ml_g, 'ml_g', regressor=True, classifier=True)

doubleml/double_ml_did_cs.py renamed to doubleml/did/did_cs.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
from sklearn.utils.multiclass import type_of_target
44
import warnings
55

6-
from .double_ml import DoubleML
7-
from .double_ml_data import DoubleMLData
8-
from .double_ml_score_mixins import LinearScoreMixin
6+
from ..double_ml import DoubleML
7+
from ..double_ml_data import DoubleMLData
8+
from ..double_ml_score_mixins import LinearScoreMixin
99

10-
from ._utils import _dml_cv_predict, _trimm, _get_cond_smpls_2d, _dml_tune
11-
from ._utils_checks import _check_score, _check_trimming, _check_finite_predictions, _check_is_propensity
10+
from ..utils._estimation import _dml_cv_predict, _trimm, _get_cond_smpls_2d, _dml_tune
11+
from ..utils._checks import _check_score, _check_trimming, _check_finite_predictions, _check_is_propensity
1212

1313

1414
class DoubleMLDIDCS(LinearScoreMixin, DoubleML):
@@ -117,6 +117,8 @@ def __init__(self,
117117

118118
# set stratication for resampling
119119
self._strata = self._dml_data.d.reshape(-1, 1) + 2 * self._dml_data.t.reshape(-1, 1)
120+
if draw_sample_splitting:
121+
self.draw_sample_splitting()
120122

121123
# check learners
122124
ml_g_is_classifier = self._check_learner(ml_g, 'ml_g', regressor=True, classifier=True)

doubleml/did/tests/__init__.py

Whitespace-only changes.

doubleml/tests/_utils_did_cs_manual.py renamed to doubleml/did/tests/_utils_did_cs_manual.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
from sklearn.base import clone
33

4-
from ._utils import fit_predict, fit_predict_proba, tune_grid_search
4+
from ...tests._utils import fit_predict, fit_predict_proba, tune_grid_search
55
from ._utils_did_manual import did_dml1, did_dml2
66

77

doubleml/tests/_utils_did_manual.py renamed to doubleml/did/tests/_utils_did_manual.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import numpy as np
22
from sklearn.base import clone
33

4-
from ._utils_boot import boot_manual, draw_weights
5-
from ._utils import fit_predict, fit_predict_proba, tune_grid_search
4+
from ...tests._utils_boot import boot_manual, draw_weights
5+
from ...tests._utils import fit_predict, fit_predict_proba, tune_grid_search
66

77

88
def fit_did(y, x, d,

0 commit comments

Comments
 (0)