Giter Club home page Giter Club logo

double-machine-learning-python-rshiny's Introduction

RShiny App for Causal Analysis with Double Machine Learning

This RShiny application is designed to help teach students and data scientists about causal analysis using Double Machine Learning (DML). This method is based on the Research paper 'Double/Debiased Machine Learning for Treatment and Causal Parameters' by Victor Chernozhukov, Denis Chetverikov, Mert Demirer, Esther Duflo, Christian Hansen, Whitney Newey, and James Robins.

Project Status

This project is currently ongoing and is being actively developed. While the DML Causal Analysis Tool is functional and available for exploration, I am working to enhance its features and functionality.

Feel free to explore the tool and provide feedback or suggestions for improvement. Your input is valuable in shaping the future direction of this project.

Thank you for your interest and support! Launch the DML Causal Analysis Tool

Educational Features

RShiny App Development

  • Modularizing RShiny apps: Understand how to modularize an RShiny app using files for better organization, especially for large RShiny projects.
  • Using Reactive Functions: Explore how to use reactive functions effectively and save reactive variables for subsequent calculations.
  • Embedding Google Slides: Learn how to incorporate Google Slides into your RShiny app, allowing users to view slides seamlessly.
  • Using Slidy Presentation in RMD Files: Learn how to utilize the slidy_presentation option for RMD files and customize the output using CSS code, as explained in the notes section of the .Rmd file.

Integration of Python Scripts in RShiny

  • Integrating Python Scripts within R/Rshiny: Learn how to integrate Python scripts within RShiny and convert Pandas dataframes back to R data frames seamlessly. If you use my created dml.py function, a citation is highly appreciated: Citation.
  • Setting Up Virtual Python Environment: Understand how to set up a virtual Python environment within RShiny using the .Rprofile file.

Modularization and Organization

  • Incorporating Objects from a www File: Discover how to incorporate objects from a www file into your app, as instructed at the bottom of the dml_ui.R file located in the tabs folder.
  • Sourcing Code from other files: Understand how to source code from other files, enabling values saved in one file to be used in another.

Advanced UI Customization

  • Incorporating Custom HTML Objects: Understand how to include custom HTML objects rendered from an .Rmd file directly into your RShiny app.
  • Incorporating CSS for Customized UI Options: Explore how to incorporate CSS for customized UI options, enhancing the visual appeal of your RShiny app. The CSS code is in a variable called 'css_body' in the dml_ui.R file.
  • Incorporating JavaScript Code for Custom RShiny Functionality: Learn how to incorporate JavaScript code into your RShiny app for additional functionality and interactivity. The JS code is in a variable called 'JS_body' in the dml_ui.R file. The JS code in this file allows the minimize button of a box() section to work.

Version Control and Collaboration

  • Version Control and Collaboration: Practice version control techniques using Git and GitHub. Collaborate with peers on app development, share code, and review pull requests.

Research and Citation Practices

  • Research and Citation Practices: Understand the importance of citing relevant literature and research papers in academic projects. Learn how to properly cite sources and give credit to original authors.

Data Science Best Practices

  • Data Science Best Practices: Gain exposure to best practices in data preprocessing, analysis, and interpretation. Learn how to validate and interpret causal inference results in real-world scenarios.

Citation

Please, if you use the dml.py file in your project, I kindly request that you cite my work with the following:

BibTeX entry:

@misc{DMLShinyPython,
  title   = {Rshiny Implementation of Double Machine Learning with Python},
  author  = {Trivino, Christopher},
  year    = {2024},
  url     = {https://github.com/DoubleML/doubleml-for-py.git}
}

Acknowledgments

I would like to acknowledge the creators of the DoubleML package for their valuable contribution to this project. They have asked anyone using their package to use this citation:

Bach, P., Chernozhukov, V., Kurz, M. S., and Spindler, M. (2022), DoubleML - An Object-Oriented Implementation of Double Machine Learning in Python, Journal of Machine Learning Research, 23(53): 1-6, Link to Paper.

BibTeX entry:

@article{DoubleML2022,
      title   = {{DoubleML} -- {A}n Object-Oriented Implementation of Double Machine Learning in {P}ython}, 
      author  = {Philipp Bach and Victor Chernozhukov and Malte S. Kurz and Martin Spindler},
      journal = {Journal of Machine Learning Research},
      year    = {2022},
      volume  = {23},
      number  = {53},
      pages   = {1--6},
      url     = {http://jmlr.org/papers/v23/21-0862.html}
}

double-machine-learning-python-rshiny's People

Contributors

ctrivino1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.