Skip to content

Aida-Rahmattalabi/PersonalizationTrees

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PersonalizationTree/Forest

This project reproduces the paper "Recursive Partitioning for Personalization using Observational Data".

Citation and the Original Paper

Kallus, N. (2017, July). Recursive partitioning for personalization using observational data. In International Conference on Machine Learning (pp. 1789-1798). PMLR.

The paper can be found at [https://arxiv.org/pdf/1608.08925.pdf]

Description

The repository consists of two files: util.py includes two classes: it implements the personalization trees (see Algorithm 1 in the paper) and personalization forest (see Algorithm 2).

personlizationTree takes 5 inputs.

  1. Train (datatype = numpy array, object): training set in the form of [X,YObs,T] where X are the covariates, YObs is the observed outcome and T is the assigned treatment.
  2. Test (datatype = numpy array, object): set set in the form of [X,Y,T] where X are the covariates, Y collects the potential outcome.
  3. max_depth (datatype = int): the maximum depth of the personalization tree.
  4. min_leaf_number (datatype = int): the minimum number of data points in each leaf node.
  5. doMatching (datatype = Boolean): a flag that, when set to True, signals the personalization tree to use the greedy-submatching (see Section 3 in the paper) to estimate the potential outcomes. Else, the user should provide the potential outcomes in Test.

personlizationForest takes treeNum (datatype = int) which is the number of trees in addition to the above inputs.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors