[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-uber--causalml":3,"tool-uber--causalml":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",150037,2,"2026-04-10T23:33:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":92,"forks":93,"last_commit_at":94,"license":95,"difficulty_score":32,"env_os":96,"env_gpu":96,"env_ram":96,"env_deps":97,"category_tags":100,"github_topics":101,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":106,"updated_at":107,"faqs":108,"releases":136},6451,"uber\u002Fcausalml","causalml","Uplift modeling and causal inference with machine learning algorithms","CausalML 是一款由 Uber 开源的 Python 工具包，专为利用机器学习算法进行因果推断和增益建模（Uplift Modeling）而设计。在传统的预测模型中，我们往往只能知道用户“是否会购买”，却难以判断这一行为是否真的由我们的营销动作引起。CausalML 正是为了解决这一痛点，它能够在不依赖强模型假设的前提下，从实验数据或历史观测数据中，精准估算出干预措施（如广告投放、优惠券发放）对特定个体产生的净效应（即条件平均处理效应，CATE）。\n\n这款工具特别适合数据科学家、算法工程师以及从事因果推断研究的专业人员使用。通过 CausalML，企业可以优化营销策略，将资源精准投向那些“只有收到广告才会产生转化”的敏感人群，从而显著提升投资回报率（ROI）；同时，它也支持构建个性化的推荐系统，帮助决策者在多种互动方式中为不同用户选择最优方案。其技术亮点在于提供了一套标准化的接口，集成了多种前沿的机器学习因果推断算法，让复杂的因果分析变得像调用常规机器学习模型一样便捷高效，是连接学术研究与工业界落地应用的有力桥梁。","\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\">\u003Cimg width=\"380px\" height=\"140px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber_causalml_readme_3561aa3a6307.png\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n------------------------------------------------------\n\n[![PyPI Version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fcausalml.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fcausalml\u002F)\n[![Build Status](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Factions\u002Fworkflows\u002Fpython-test.yaml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Factions\u002Fworkflows\u002Fpython-test.yaml)\n[![Documentation Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber_causalml_readme_13d664e1afd7.png)](http:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002F?badge=latest)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber_causalml_readme_7ae7750e1d27.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fcausalml)\n[![CII Best Practices](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber_causalml_readme_50ccde67b228.png)](https:\u002F\u002Fbestpractices.coreinfrastructure.org\u002Fprojects\u002F3015)\n\n\n# Disclaimer\nThis project is stable and being incubated for long-term support. It may contain new experimental code, for which APIs are subject to change.\n\n\n# Causal ML: A Python Package for Uplift Modeling and Causal Inference with ML\n\n**Causal ML** is a Python package that provides a suite of uplift modeling and causal inference methods using machine learning algorithms based on recent\nresearch [[1]](#Literature). It provides a standard interface that allows user to estimate the Conditional Average Treatment Effect (CATE) from experimental or observational data. Essentially, it estimates the causal impact of intervention `T` on outcome `Y` for users\n with observed features `X`, without strong assumptions on the model form. Typical use cases include\n\n* **Campaign targeting optimization**: An important lever to increase ROI in an advertising campaign is to target the ad to the set of customers who will have a favorable response in a given KPI such as engagement or sales. CATE identifies these customers by estimating the effect of the KPI from ad exposure at the individual level from A\u002FB experiment or historical observational data.\n\n* **Personalized engagement**: A company has multiple options to interact with its customers such as different product choices in up-sell or messaging channels for communications. One can use CATE to estimate the heterogeneous treatment effect for each customer and treatment option combination for an optimal personalized recommendation system.\n\n\n# Documentation\n\nDocumentation is available at:\n\nhttps:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Fabout.html\n\n\n# Installation\n\nInstallation instructions are available at:\n\nhttps:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Finstallation.html\n\n\n# Quickstart\n\nQuickstarts with code-snippets are available at:\n\nhttps:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Fquickstart.html\n\n\n# Example Notebooks\n\nExample notebooks are available at:\n\nhttps:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Fexamples.html\n\n\n# Contributing\n\nWe welcome community contributors to the project. Before you start, please read our [code of conduct](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fblob\u002Fmaster\u002FCODE_OF_CONDUCT.md) and check out [contributing guidelines](.\u002FCONTRIBUTING.md) first.\n\n\n# Versioning\n\nWe document versions and changes in our [changelog](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fblob\u002Fmaster\u002Fdocs\u002Fchangelog.rst).\n\n\n# License\n\nThis project is licensed under the Apache 2.0 License - see the [LICENSE](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fblob\u002Fmaster\u002FLICENSE) file for details.\n\n\n# References\n\n## Documentation\n* [Causal ML API documentation](https:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Fabout.html)\n\n## Workshops, Talks, and Publications\n* (Workshop) [3rd Workshop on Causal Inference and Machine Learning in Practice](https:\u002F\u002Fcausal-machine-learning.github.io\u002Fkdd2025-workshop\u002F) at KDD 2025\n* (Workshop) [2nd Workshop on Causal Inference and Machine Learning in Practice](https:\u002F\u002Fcausal-machine-learning.github.io\u002Fkdd2024-workshop\u002F) at KDD 2024\n* (Workshop) [Causal Inference and Machine Learning in Practice: Use cases for Product, Brand, Policy and Beyond](https:\u002F\u002Fcausal-machine-learning.github.io\u002Fkdd2023-workshop\u002F) at KDD 2023\n* (Talk) Introduction to CausalML at [Causal Data Science Meeting 2021](https:\u002F\u002Fwww.causalscience.org\u002Fmeeting\u002Fprogram\u002Fday-2\u002F)\n* (Talk) Introduction to CausalML at [2021 Conference on Digital Experimentation @ MIT (CODE@MIT)](https:\u002F\u002Fide.mit.edu\u002Fevents\u002F2021-conference-on-digital-experimentation-mit-codemit\u002F)\n* (Tutorial) [Causal Inference and Machine Learning in Practice with EconML and CausalML: Industrial Use Cases at Microsoft, TripAdvisor, Uber](https:\u002F\u002Fcausal-machine-learning.github.io\u002Fkdd2021-tutorial\u002F) at KDD 2021\n* (Publication) [CausalML: Python package for causal machine learning](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.11631)\n* (Publication) [Uplift Modeling for Multiple Treatments with Cost Optimization](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F8964199) at [2019 IEEE International Conference on Data Science and Advanced Analytics (DSAA)](http:\u002F\u002F203.170.84.89\u002F~idawis33\u002Fdsaa2019\u002Fpreliminary-program\u002F)\n* (Publication) [Feature Selection Methods for Uplift Modeling](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.03447)\n\n## Citation\nTo cite CausalML in publications, you can refer to the following sources:\n\nWhitepaper:\n[CausalML: Python Package for Causal Machine Learning](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.11631)\n\nBibtex:\n> @misc{chen2020causalml,\n>    title={CausalML: Python Package for Causal Machine Learning},\n>    author={Huigang Chen and Totte Harinen and Jeong-Yoon Lee and Mike Yung and Zhenyu Zhao},\n>    year={2020},\n>    eprint={2002.11631},\n>    archivePrefix={arXiv},\n>    primaryClass={cs.CY}\n>}\n\n\n## Literature\n\n1. Chen, Huigang, Totte Harinen, Jeong-Yoon Lee, Mike Yung, and Zhenyu Zhao. \"Causalml: Python package for causal machine learning.\" arXiv preprint arXiv:2002.11631 (2020).\n2. Radcliffe, Nicholas J., and Patrick D. Surry. \"Real-world uplift modelling with significance-based uplift trees.\" White Paper TR-2011-1, Stochastic Solutions (2011): 1-33.\n3. Zhao, Yan, Xiao Fang, and David Simchi-Levi. \"Uplift modeling with multiple treatments and general response types.\" Proceedings of the 2017 SIAM International Conference on Data Mining. Society for Industrial and Applied Mathematics, 2017.\n4. Hansotia, Behram, and Brad Rukstales. \"Incremental value modeling.\" Journal of Interactive Marketing 16.3 (2002): 35-46.\n5. Jannik Rößler, Richard Guse, and Detlef Schoder. \"The Best of Two Worlds: Using Recent Advances from Uplift Modeling and Heterogeneous Treatment Effects to Optimize Targeting Policies\". International Conference on Information Systems (2022)\n6. Su, Xiaogang, et al. \"Subgroup analysis via recursive partitioning.\" Journal of Machine Learning Research 10.2 (2009).\n7. Su, Xiaogang, et al. \"Facilitating score and causal inference trees for large observational studies.\" Journal of Machine Learning Research 13 (2012): 2955.\n8. Athey, Susan, and Guido Imbens. \"Recursive partitioning for heterogeneous causal effects.\" Proceedings of the National Academy of Sciences 113.27 (2016): 7353-7360.\n9. Künzel, Sören R., et al. \"Metalearners for estimating heterogeneous treatment effects using machine learning.\" Proceedings of the national academy of sciences 116.10 (2019): 4156-4165.\n10. Nie, Xinkun, and Stefan Wager. \"Quasi-oracle estimation of heterogeneous treatment effects.\" arXiv preprint arXiv:1712.04912 (2017).\n11. Bang, Heejung, and James M. Robins. \"Doubly robust estimation in missing data and causal inference models.\" Biometrics 61.4 (2005): 962-973.\n12. Van Der Laan, Mark J., and Daniel Rubin. \"Targeted maximum likelihood learning.\" The international journal of biostatistics 2.1 (2006).\n13. Kennedy, Edward H. \"Optimal doubly robust estimation of heterogeneous causal effects.\" arXiv preprint arXiv:2004.14497 (2020).\n14. Louizos, Christos, et al. \"Causal effect inference with deep latent-variable models.\" arXiv preprint arXiv:1705.08821 (2017).\n15. Shi, Claudia, David M. Blei, and Victor Veitch. \"Adapting neural networks for the estimation of treatment effects.\" 33rd Conference on Neural Information Processing Systems (NeurIPS 2019), 2019.\n16. Zhao, Zhenyu, Yumin Zhang, Totte Harinen, and Mike Yung. \"Feature Selection Methods for Uplift Modeling.\" arXiv preprint arXiv:2005.03447 (2020).\n17. Zhao, Zhenyu, and Totte Harinen. \"Uplift modeling for multiple treatments with cost optimization.\" In 2019 IEEE International Conference on Data Science and Advanced Analytics (DSAA), pp. 422-431. IEEE, 2019.\n\n\n## Related projects\n\n* [uplift](https:\u002F\u002Fcran.r-project.org\u002Fweb\u002Fpackages\u002Fuplift\u002Findex.html): uplift models in R\n* [grf](https:\u002F\u002Fcran.r-project.org\u002Fweb\u002Fpackages\u002Fgrf\u002Findex.html): generalized random forests that include heterogeneous treatment effect estimation in R\n* [rlearner](https:\u002F\u002Fgithub.com\u002Fxnie\u002Frlearner): A R package that implements R-Learner\n* [DoWhy](https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fdowhy):  Causal inference in Python based on Judea Pearl's do-calculus\n* [EconML](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEconML): A Python package that implements heterogeneous treatment effect estimators from econometrics and machine learning methods\n","\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\">\u003Cimg width=\"380px\" height=\"140px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber_causalml_readme_3561aa3a6307.png\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n------------------------------------------------------\n\n[![PyPI Version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fcausalml.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fcausalml\u002F)\n[![Build Status](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Factions\u002Fworkflows\u002Fpython-test.yaml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Factions\u002Fworkflows\u002Fpython-test.yaml)\n[![Documentation Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber_causalml_readme_13d664e1afd7.png)](http:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002F?badge=latest)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber_causalml_readme_7ae7750e1d27.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fcausalml)\n[![CII Best Practices](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber_causalml_readme_50ccde67b228.png)](https:\u002F\u002Fbestpractices.coreinfrastructure.org\u002Fprojects\u002F3015)\n\n\n# 免责声明\n本项目目前处于稳定状态，并正在孵化以实现长期支持。它可能包含新的实验性代码，其API可能会发生变化。\n\n\n# Causal ML：用于提升建模和基于机器学习的因果推断的Python库\n\n**Causal ML** 是一个基于最新研究[[1]](#Literature)的Python库，提供了一系列利用机器学习算法进行提升建模和因果推断的方法。它提供了一个标准接口，允许用户从实验或观察性数据中估计条件平均处理效应（CATE）。本质上，它在不对模型形式做强假设的情况下，估计干预变量 `T` 对结果变量 `Y` 在具有观测特征 `X` 的个体上的因果影响。典型的使用场景包括：\n\n* **营销活动目标受众优化**：提高广告投放投资回报率的一个重要手段是将广告精准投放给那些在特定关键绩效指标（如互动或销售额）上会有积极反应的客户群体。通过A\u002FB实验或历史观察性数据，CATE可以在个体层面估算广告曝光对KPI的影响，从而识别出这些高响应客户。\n\n* **个性化用户互动**：企业与客户之间存在多种互动方式，例如在追加销售中提供不同的产品选择，或在沟通中使用不同的消息渠道。可以利用CATE来估计每个客户与每种互动方式组合下的异质性处理效应，从而构建最优的个性化推荐系统。\n\n\n# 文档\n文档可在以下网址查阅：\nhttps:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Fabout.html\n\n\n# 安装\n安装说明请参见：\nhttps:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Finstallation.html\n\n\n# 快速入门\n包含代码片段的快速入门指南请参见：\nhttps:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Fquickstart.html\n\n\n# 示例笔记本\n示例笔记本请参见：\nhttps:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Fexamples.html\n\n\n# 贡献\n我们欢迎社区开发者参与本项目的贡献。在开始之前，请先阅读我们的[行为准则](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fblob\u002Fmaster\u002FCODE_OF_CONDUCT.md)并查看[贡献指南](.\u002FCONTRIBUTING.md)。\n\n\n# 版本管理\n我们在[变更日志](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fblob\u002Fmaster\u002Fdocs\u002Fchangelog.rst)中记录了版本及变更信息。\n\n\n# 许可证\n本项目采用Apache 2.0许可证授权——详细信息请参阅[LICENSE](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fblob\u002Fmaster\u002FLICENSE)文件。\n\n\n# 参考文献\n\n## 文档\n* [Causal ML API文档](https:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Fabout.html)\n\n## 研讨会、演讲及出版物\n* （研讨会）2025年KDD大会上的[第三届因果推断与机器学习实践研讨会](https:\u002F\u002Fcausal-machine-learning.github.io\u002Fkdd2025-workshop\u002F)\n* （研讨会）2024年KDD大会上的[第二届因果推断与机器学习实践研讨会](https:\u002F\u002Fcausal-machine-learning.github.io\u002Fkdd2024-workshop\u002F)\n* （研讨会）2023年KDD大会上的[因果推断与机器学习实践：产品、品牌、政策及其他领域的应用案例研讨会](https:\u002F\u002Fcausal-machine-learning.github.io\u002Fkdd2023-workshop\u002F)\n* （演讲）2021年因果数据科学会议上的[CausalML简介](https:\u002F\u002Fwww.causalscience.org\u002Fmeeting\u002Fprogram\u002Fday-2\u002F)\n* （演讲）2021年MIT数字实验会议上的[CausalML简介](https:\u002F\u002Fide.mit.edu\u002Fevents\u002F2021-conference-on-digital-experimentation-mit-codemit\u002F)\n* （教程）2021年KDD大会上的[因果推断与机器学习实践：EconML和CausalML在微软、猫途鹰、优步等公司的工业应用案例教程](https:\u002F\u002Fcausal-machine-learning.github.io\u002Fkdd2021-tutorial\u002F)\n* （出版物）[CausalML：用于因果机器学习的Python库](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.11631)\n* （出版物）[考虑成本优化的多处理提升建模](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F8964199)，发表于[2019年IEEE国际数据科学与高级分析会议（DSAA）](http:\u002F\u002F203.170.84.89\u002F~idawis33\u002Fdsaa2019\u002Fpreliminary-program\u002F)\n* （出版物）[用于提升建模的特征选择方法](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.03447)\n\n## 引用\n若在出版物中引用CausalML，可参考以下来源：\n\n白皮书：\n[CausalML：用于因果机器学习的Python库](https:\u002F\u002Farxiv.org\u002Fabs\u002F2002.11631)\n\nBibTeX：\n> @misc{chen2020causalml,\n>    title={CausalML: Python Package for Causal Machine Learning},\n>    author={Huigang Chen and Totte Harinen and Jeong-Yoon Lee and Mike Yung and Zhenyu Zhao},\n>    year={2020},\n>    eprint={2002.11631},\n>    archivePrefix={arXiv},\n>    primaryClass={cs.CY}\n>}\n\n## 文献\n\n1. 陈慧刚、托特·哈里宁、李正允、迈克·容和赵振宇。“Causalml：用于因果机器学习的Python软件包。” arXiv预印本arXiv:2002.11631（2020）。\n2. 拉德克利夫，尼古拉斯·J.，和帕特里克·D·萨里。“基于显著性检验的提升树在现实世界中的提升建模。” Stochastic Solutions白皮书TR-2011-1（2011）：1–33页。\n3. 赵燕、方晓和大卫·辛奇-列维。“具有多处理和一般响应类型的提升建模。” 2017年SIAM国际数据挖掘会议论文集。工业与应用数学学会，2017年。\n4. 汉索蒂亚，贝赫拉姆，和布拉德·鲁克斯塔尔斯。“增量价值建模。” 交互营销杂志16.3（2002）：35–46页。\n5. 扬尼克·罗斯勒、理查德·古塞和德特列夫·肖德尔。“两全其美：利用提升建模和异质性处理效应的最新进展优化目标定位策略”。信息系统国际会议（2022）。\n6. 苏晓刚等。“通过递归划分进行亚组分析。” 机器学习研究杂志10.2（2009）。\n7. 苏晓刚等。“为大型观察性研究提供评分和因果推断树。” 机器学习研究杂志13（2012）：2955页。\n8. 阿西和圭多·伊姆本斯。“用于异质性因果效应的递归划分。” 美国国家科学院院刊113.27（2016）：7353–7360页。\n9. 昆泽尔，索伦·R.等。“使用机器学习估计异质性处理效应的元学习器。” 美国国家科学院院刊116.10（2019）：4156–4165页。\n10. 倪欣坤和斯特凡·韦格尔。“异质性处理效应的准oracle估计。” arXiv预印本arXiv:1712.04912（2017）。\n11. 邦，熙静和詹姆斯·M·罗宾斯。“缺失数据和因果推断模型中的双重稳健估计。” 生物计量学61.4（2005）：962–973页。\n12. 范德兰，马克·J.和丹尼尔·鲁宾。“目标最大似然学习。” 国际生物统计学杂志2.1（2006）。\n13. 肯尼迪，爱德华·H.：“异质性因果效应的最优双稳健估计。” arXiv预印本arXiv:2004.14497（2020）。\n14. 卢伊佐斯，克里斯托斯等。“基于深度潜在变量模型的因果效应推断。” arXiv预印本arXiv:1705.08821（2017）。\n15. 施，克劳迪娅、戴维·M·布莱和维克多·维奇。“将神经网络应用于处理效应估计。” 第33届神经信息处理系统大会（NeurIPS 2019），2019年。\n16. 赵振宇、张玉敏、托特·哈里宁和迈克·容。“提升建模的特征选择方法。” arXiv预印本arXiv:2005.03447（2020）。\n17. 赵振宇和托特·哈里宁。“考虑成本优化的多处理提升建模。” 2019年IEEE数据科学与高级分析国际会议论文集，第422–431页。IEEE，2019年。\n\n\n## 相关项目\n\n* [uplift](https:\u002F\u002Fcran.r-project.org\u002Fweb\u002Fpackages\u002Fuplift\u002Findex.html)：R语言中的提升模型\n* [grf](https:\u002F\u002Fcran.r-project.org\u002Fweb\u002Fpackages\u002Fgrf\u002Findex.html)：包含异质性处理效应估计的广义随机森林，适用于R语言\n* [rlearner](https:\u002F\u002Fgithub.com\u002Fxnie\u002Frlearner)：实现R-Learner的R语言包\n* [DoWhy](https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fdowhy)：基于朱迪亚·珀尔的do演算的Python因果推断工具\n* [EconML](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEconML)：实现来自计量经济学和机器学习方法的异质性处理效应估计器的Python软件包","# Causal ML 快速上手指南\n\nCausal ML 是一个由 Uber 开源的 Python 包，提供基于机器学习算法的提升建模（Uplift Modeling）和因果推断方法。它主要用于估计条件平均处理效应（CATE），帮助开发者在营销定向优化、个性化推荐等场景中量化干预措施的实际效果。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS, 或 Windows\n*   **Python 版本**：建议 Python 3.8 及以上版本\n*   **核心依赖**：\n    *   `numpy`\n    *   `pandas`\n    *   `scipy`\n    *   `scikit-learn`\n    *   `matplotlib`\n    *   `seaborn`\n    *   `joblib`\n    *   `tqdm`\n    *   `lightgbm` (可选，用于基于树的模型)\n    *   `xgboost` (可选，用于基于树的模型)\n\n> **提示**：建议使用虚拟环境（如 `venv` 或 `conda`）进行隔离安装，以避免依赖冲突。\n\n## 安装步骤\n\n### 方式一：通过 PyPI 安装（推荐）\n\n使用 pip 直接安装稳定版：\n\n```bash\npip install causalml\n```\n\n**国内加速方案**：\n如果您在中国大陆，建议使用清华或阿里镜像源以加快下载速度：\n\n```bash\npip install causalml -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n或者使用阿里云镜像：\n\n```bash\npip install causalml -i https:\u002F\u002Fmirrors.aliyun.com\u002Fpypi\u002Fsimple\u002F\n```\n\n### 方式二：从源码安装（获取最新特性）\n\n如果需要体验最新的实验性功能，可以从 GitHub 克隆源码安装：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml.git\ncd causalml\npip install -e .\n```\n\n## 基本使用\n\n以下是一个最简单的示例，演示如何使用 Causal ML 中的 `S-Learner` 方法来估计处理效应。\n\n### 1. 准备数据与模型\n\n假设你有一份包含特征 `X`、处理变量 `treatment` 和目标结果 `y` 的数据集。\n\n```python\nimport pandas as pd\nimport numpy as np\nfrom causalml.inference.meta import LRSRegressor\nfrom causalml.metrics import plot_uplift_preds\n\n# 生成模拟数据 (实际使用中请替换为您的真实数据)\nnp.random.seed(42)\nn_samples = 1000\nX = np.random.rand(n_samples, 5)\ntreatment = np.random.binomial(1, 0.5, n_samples)\n# 模拟一个受处理影响的結果\ny = (X[:, 0] * treatment * 2 + np.random.normal(0, 0.1, n_samples)).astype(int)\n\ndf = pd.DataFrame(X, columns=[f'feature_{i}' for i in range(5)])\ndf['treatment'] = treatment\ndf['y'] = y\n```\n\n### 2. 初始化模型并拟合\n\n这里使用线性回归作为基础学习器（Base Learner）的 S-Learner 方法。\n\n```python\nfrom causalml.inference.meta import LRSRegressor\n\n# 初始化 S-Learner (使用线性回归)\nlr_model = LRSRegressor()\n\n# 拟合模型\n# treatment_column: 处理变量列名\n# outcome_column: 目标结果列名\n# feature_columns: 特征列名列表\nlr_model.fit(\n    df=df,\n    treatment_column='treatment',\n    outcome_column='y',\n    feature_columns=[f'feature_{i}' for i in range(5)]\n)\n```\n\n### 3. 预测处理效应 (CATE)\n\n使用训练好的模型预测每个样本的处理效应。\n\n```python\n# 预测个体层面的处理效应\ndf['cate'] = lr_model.predict(df)[0]\n\n# 查看前几行结果\nprint(df[['treatment', 'y', 'cate']].head())\n```\n\n### 4. 可视化结果 (可选)\n\n如果安装了 `matplotlib`，可以绘制提升曲线来评估模型效果。\n\n```python\n# 绘制提升图\nplot_uplift_preds(truth=df, treatment='treatment', outcome='y', prediction='cate')\n```\n\n---\n*更多高级用法（如多处理变量、深度学习模型集成等）请参考官方文档：https:\u002F\u002Fcausalml.readthedocs.io\u002F*","某大型电商平台的营销团队正试图优化“新用户首单立减”优惠券的发放策略，希望在预算有限的情况下最大化整体转化率。\n\n### 没有 causalml 时\n- **盲目撒网导致预算浪费**：团队只能依据历史转化率高低进行人群筛选，结果将大量优惠券发给了“无论发不发券都会购买”的自然转化用户，造成严重的资源冗余。\n- **误伤潜在流失用户**：缺乏对因果效应的评估，无法识别那些“发了券反而觉得品牌廉价而放弃购买”的负面响应群体，导致部分用户体验下降。\n- **策略迭代依赖直觉**：由于无法量化每个用户特征对干预效果的异质性影响（CATE），运营人员只能凭经验调整规则，A\u002FB 测试周期长且难以定位具体失效原因。\n- **ROI 提升遭遇瓶颈**：传统的预测模型仅能预估用户购买概率，却无法区分“相关性”与“因果性”，导致营销活动的投资回报率长期停滞不前。\n\n### 使用 causalml 后\n- **精准锁定敏感人群**：利用 uplift modeling 算法估算个体层面的条件平均处理效应（CATE），成功识别出仅在收到优惠券后才会下单的“被说服者”，将预算集中投向该群体。\n- **自动规避负面效应**：causalml 帮助团队提前发现并排除了对促销敏感的负向用户，避免了因不当干预导致的用户流失和品牌损害。\n- **实现千人千面决策**：基于机器学习算法量化不同特征组合下的差异化治疗效果，支持系统为每位用户动态推荐最优的干预方式（如发券金额或渠道）。\n- **数据驱动高效迭代**：通过直接观测干预带来的净增量收益，团队能快速验证假设并优化模型，显著缩短了策略调优周期，大幅提升了活动 ROI。\n\ncausalml 的核心价值在于将营销决策从“预测谁会买”升级为“判断谁因干预而买”，从而在复杂业务场景中实现真正的降本增效。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber_causalml_3561aa3a.png","uber","Uber Open Source","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fuber_3a532a8c.png","Open Source at Uber",null,"http:\u002F\u002Fwww.uber.com","https:\u002F\u002Fgithub.com\u002Fuber",[80,84,88],{"name":81,"color":82,"percentage":83},"Python","#3572A5",63.4,{"name":85,"color":86,"percentage":87},"Cython","#fedf5b",36.6,{"name":89,"color":90,"percentage":91},"Makefile","#427819",0,5801,856,"2026-04-10T10:35:39","NOASSERTION","未说明",{"notes":98,"python":96,"dependencies":99},"README 中未直接列出具体的运行环境需求（如操作系统、GPU、内存、Python 版本及依赖库），仅提供了安装文档的链接。用户需参考官方安装文档（https:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Finstallation.html）获取详细配置信息。该项目由 Uber 开发，主要用于提升建模和因果推断，支持多种机器学习算法。",[96],[14],[102,103,104,105],"incubation","machine-learning","causal-inference","uplift-modeling","2026-03-27T02:49:30.150509","2026-04-11T08:01:35.193189",[109,114,119,124,128,132],{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},29195,"在 macOS 上使用 pip 安装 causalml 时遇到 'No module named Cython' 或 'Accessing Python attribute not allowed without gil' 错误怎么办？","这通常是因为缺少必要的编译工具或环境配置问题。解决方案包括：\n1. 安装 Xcode 命令行工具：在终端运行 `xcode-select --install`，下载并安装完成后重启终端。\n2. 建议使用 Conda 虚拟环境进行安装，而不是直接在 Jupyter Notebook 中运行。\n3. 确保在正确的 Conda 库目录下重新安装 causalml。","https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fissues\u002F76",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},29196,"在 Windows 上使用 conda 或 pip 安装 causalml 失败，提示包找不到或构建 wheel 错误，如何解决？","Windows 用户请尝试以下步骤：\n1. 创建一个新的干净环境，推荐使用 Python 3.10 及以上版本（如 3.10.15）。\n2. 务必使用 **Anaconda Powershell Prompt** 而不是普通的 Windows Powershell 来执行安装命令。\n3. 如果 pip 安装仍然报错，检查是否已正确安装构建依赖项，并确保在网络通畅的环境下重试。","https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fissues\u002F671",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},29197,"安装旧版本（如 v0.14.0）时出现 Cython 类型赋值错误（Cannot assign type 'double' to 'int'）怎么办？","该问题是由于旧版本代码与新版本 Cython 不兼容导致的。维护者表示此问题已在最近的发布版本中修复。建议不要强制安装旧版本，而是直接安装最新的 causalml 版本即可解决该编译错误。","https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fissues\u002F703",{"id":125,"question_zh":126,"answer_zh":127,"source_url":118},29198,"为什么在 Windows 上安装 causalml 时总是构建 wheel 失败（Failed building wheel for causalml）？","这通常是因为 Windows 环境下缺少必要的 C++ 编译环境或使用了错误的命令行工具。请确保：\n1. 使用 Anaconda Powershell Prompt 进行操作。\n2. 创建一个全新的 Python 环境（推荐 Python 3.10+）。\n3. 如果问题依旧，可能需要手动安装 Microsoft C++ Build Tools 以确保能编译 Cython 扩展模块。",{"id":129,"question_zh":130,"answer_zh":131,"source_url":113},29199,"在 Jupyter Notebook 中直接运行 !pip install causalml 报错怎么办？","不建议直接在 Jupyter Notebook 单元格中运行安装命令，这可能导致环境变量路径问题。正确的做法是：\n1. 退出 Jupyter Notebook。\n2. 打开系统终端（macOS\u002FLinux）或 Anaconda Powershell Prompt（Windows）。\n3. 激活你的 conda 虚拟环境。\n4. 在终端中运行 `pip install causalml` 或 `conda install -c conda-forge causalml`。\n5. 安装完成后重新启动 Jupyter Notebook。",{"id":133,"question_zh":134,"answer_zh":135,"source_url":113},29200,"安装过程中提示 'missing xcrun' 错误该如何处理？","这是 macOS 系统缺少 Xcode 命令行工具的典型表现。解决方法是在终端中运行以下命令：\n`xcode-select --install`\n系统会弹出窗口提示下载和安装命令行工具，安装过程可能需要一些时间。安装完成后，重启终端再次尝试安装 causalml 即可。",[137,142,147,152,157,162,167,172,177,182,187,192,197,202,207,212,217,222,227],{"id":138,"version":139,"summary_zh":140,"released_at":141},198022,"v0.11","# 0.11.0 (2021-07-28)\r\n\r\n(sorry for the spam, attempting to correctly update to the right files)\r\n- CausalML surpassed [2K stars](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fstargazers)!  \r\n- We have 3 new community contributors, Jannik (@jroessler), Mohamed (@ibraaaa), and Leo (@lleiou). Thanks for the contribution!  \r\n\r\n## Major Updates\r\n\r\n- Make tensorflow dependency optional and add python 3.9 support by @jeongyoonlee (#343)\r\n- Add delta-delta-p (ddp) tree inference approach by @jroessler (#327)\r\n- Add conda env files for Python 3.6, 3.7, and 3.8 by @jeongyoonlee (#324)\r\n\r\n## Minor Updates\r\n\r\n- Fix inconsistent feature importance calculation in uplift tree by @paullo0106 (#372)\r\n- Fix filter method failure with NaNs in the data issue by @manojbalaji1 (#367)\r\n- Add automatic package publish by @jeongyoonlee (#354)\r\n- Fix typo in unit_selection optimization by @jeongyoonlee (#347)\r\n- Fix docs build failure by @jeongyoonlee (#335)\r\n- Convert pandas inputs to numpy in S\u002FT\u002FR Learners by @jeongyoonlee (#333)\r\n- Require scikit-learn as a dependency of setup.py by @ibraaaa (#325)\r\n- Fix AttributeError when passing in Outcome and Effect learner to R-Learner by @paullo0106 (#320)\r\n- Fix error when there is no positive class for KL Divergence filter by @lleiou (#311)\r\n- Add versions to cython and numpy in setup.py for requirements.txt accordingly by @maccam912 (#306)\r\n","2021-07-29T04:53:48",{"id":143,"version":144,"summary_zh":145,"released_at":146},198023,"v0.10.0","# 0.10.0 (2021-02-19)\r\n\r\n- CausalML surpassed [235,000 downloads](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fcausalml)!\r\n- We have 5 new community contributors, Suraj (@surajiyer), Harsh (@HarshCasper), Manoj (@manojbalaji1), Matthew (@maccam912) and Václav (@vaclavbelak). Thanks for the contribution!\r\n\r\n## Major Updates\r\n\r\n- Add Policy learner, DR learner, DRIV learner by @huigangchen (#292)\r\n- Add wrapper for CEVAE, a deep latent-variable and variational autoencoder based model by @ppstacy (#276)\r\n\r\n## Minor Updates\r\n- Add propensity_learner to R-learner by @jeongyoonlee (#297)\r\n- Add BaseLearner class for other meta-learners to inherit from without duplicated code by @jeongyoonlee (#295)\r\n- Fix installation issue for Shap>=0.38.1 by @paullo0106 (#287)\r\n- Fix import error for sklearn>= 0.24 by @jeongyoonlee (#283)\r\n- Fix KeyError issue in Filter method for certain dataset by @surajiyer (#281)\r\n- Fix inconsistent cumlift score calculation of multiple models by @vaclavbelak (#273)\r\n- Fix duplicate values handling in feature selection method by @manojbalaji1 (#271)\r\n- Fix the color spectrum of SHAP summary plot  for feature interpretations of meta-learners by @paullo0106 (#269)\r\n- Add IIA and value optimization related documentation by @t-tte (#264)\r\n- Fix StratifiedKFold arguments for propensity score estimation by @paullo0106 (#262)\r\n- Refactor the code with string format argument and is to compare object types, and change methods not using bound instance to static methods by @harshcasper (#256, #260)\r\n\r\n","2021-02-19T20:58:43",{"id":148,"version":149,"summary_zh":150,"released_at":151},198024,"v0.9.0","# 0.9.0 (2020-10-23)\r\n\r\n- CausalML won the 1st prize at the poster session in UberML'20\r\n- DoWhy integrated CausalML starting v0.4 ([release note](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdowhy\u002Freleases\u002Ftag\u002Fv0.4))\r\n- CausalML team welcomes new project leadership, Mert Bay\r\n- We have 4 new community contributors, Mario Wijaya (@mwijaya3), Harry Zhao (@deeplaunch), Christophe (@ccrndn) and Georg Walther (@waltherg). Thanks for the contribution!\r\n\r\n## Major Updates\r\n\r\n- Add feature importance and its visualization to UpliftDecisionTrees and UpliftRF by @yungmsh (#220)\r\n- Add feature selection example with Filter methods by @paullo0106 (#223)\r\n\r\n## Minor Updates\r\n\r\n- Implement propensity model abstraction for common interface by @waltherg (#223)\r\n- Fix bug in BaseSClassifier and BaseXClassifier by @yungmsh and @ppstacy (#217, #218)\r\n- Fix parentNodeSummary for UpliftDecisionTrees by @paullo0106 (#238)\r\n- Add pd.Series for propensity score condition check by @paullo0106 (#242)\r\n- Fix the uplift random forest prediction output by @ppstacy (#236)\r\n- Add functions and methods to init for optimization module by @mwijaya3 (#228)\r\n- Install GitHub Stale App to close inactive issues automatically @jeongyoonlee (#237)\r\n- Update documentation by @deeplaunch, @ccrndn, @ppstacy(#214, #231, #232)","2020-10-23T22:53:43",{"id":153,"version":154,"summary_zh":155,"released_at":156},198025,"v0.8.0","# 0.8.0 (2020-07-17)\r\n\r\nCausalML surpassed [100,000 downloads](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fcausalml)! Thanks for the support.\r\n\r\n## Major Updates\r\n\r\n- Add value optimization to `optimize` by @t-tte (#183)\r\n- Add counterfactual unit selection to `optimize` by @t-tte (#184)\r\n- Add sensitivity analysis to `metrics` by @ppstacy (#199, #212)\r\n- Add the `iv` estimator submodule and add 2SLS model to it by @huigangchen (#201)\r\n\r\n## Minor Updates\r\n\r\n- Add `GradientBoostedPropensityModel` by @yungmsh (#193)\r\n- Add covariate balance visualization by @yluogit (#200)\r\n- Fix bug in the X learner propensity model by @ppstacy (#209)\r\n- Update package dependencies by @jeongyoonlee (#195, #197)\r\n- Update documentation by @jeongyoonlee, @ppstacy and @yluogit (#181, #202, #205)","2020-10-21T18:31:16",{"id":158,"version":159,"summary_zh":160,"released_at":161},198007,"v0.16.0","本次发布主要聚焦于新增对 scipy>=1.16.0、numpy>=1.25.2、statsmodels>=0.14.5 以及 Python>=3.11 的支持，并通过更新依赖项解决了 Cython 二进制接口兼容性问题。\n\n## 变更内容\n* 添加 `BaseDRClassifier`，用于基于概率的二分类任务，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F844 中实现。\n* 增加通过合成控制法验证进行基准测试的功能，由 @IyarLin 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F847 中实现。\n* Bug 修复：更新 `uplift.pyx` 文件中的 `isinstance(v, Numbers.number)` 检查，由 @00helloworld 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F849 中完成。\n* 修复 #848：将 `estimation_sample_size` 参数传递给 UpliftRandomForestClassifier 中的每棵子树，由 @mohsinm-dev 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F850 中完成。\n* #775：在 CausalTreeRegressor 和 CausalRandomForestRegressor 中支持多处理效应，由 @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F852 中实现。\n* 修复：移除 sklearn 内部依赖，以支持 scipy>=1.16.0，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F861 中完成。\n* 修复 Ubuntu 打包失败问题——scipy 的 manylinux 兼容性问题，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F865 中解决。\n* 将 cibuildwheel 升级至 v3.3.1，并移除已弃用的 macos-13 运行器，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F867 中完成。\n* 发布 v0.16.0：升级至 manylinux_2_28，并移除 scipy 版本约束，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F869 中完成。\n\n## 新贡献者\n* @IyarLin 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F847 中完成了首次贡献。\n* @00helloworld 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F849 中完成了首次贡献。\n* @mohsinm-dev 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F850 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fcompare\u002Fv0.15.5...v0.16.0","2026-02-06T17:45:24",{"id":163,"version":164,"summary_zh":165,"released_at":166},198008,"v0.15.5","## 变更内容\n* 由 @pavelzw 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F831 中修复运行时依赖问题\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F832 中修复构建错误\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F827 中移除失败的 test-conda-forge-install.yml 测试\n* 由 @aaelony 和 @emilioMaddalena 分别在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F834 和 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F836 中通过 `uv` 进行安装\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F839 中将 `calibrate()` 方法移至 `PropensityModel` 类内部\n* 由 @jeongyoonlee 发布 v0.15.5 版本，详情见 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F842\n\n## 新贡献者\n* @pavelzw 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F831 中完成了首次贡献\n* @aaelony 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F834 中完成了首次贡献\n* @emilioMaddalena 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F836 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fcompare\u002Fv0.15.4...v0.15.5","2025-07-09T00:10:19",{"id":168,"version":169,"summary_zh":170,"released_at":171},198009,"v0.15.4","## 变更内容\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F816 中添加了校准示例\n* 解决 #811，@ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F817 中更新了 propensity.py\n* 文档（验证）：@javiergarea 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F822 中修复了一些拼写错误\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F821 中移除了对未使用参数的描述\n* #820：@alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F823 中更新了包含因果树解释示例的 Jupyter Notebook\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F829 中修复了元学习器中不正确的自助法均值计算\n\n## 新贡献者\n* @javiergarea 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F822 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fcompare\u002Fv0.15.3...v0.15.4","2025-05-15T16:49:13",{"id":173,"version":174,"summary_zh":175,"released_at":176},198010,"v0.15.3","* 本次发布通过更新依赖项，使用户能够使用最新版本的 Cython、numpy、scipy 和 scikit-learn。\n* 除了 Python 3.9 至 3.11 外，现在 PyPI 上也提供了适用于 Python 3.12 的预编译轮子文件，便于安装。\n\n## 变更内容\n* @spohngellert-o 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F797 中实现了对照组与处理组的匹配功能。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F799 中修复了 uplift 曲线和 Qini 曲线图中的随机线条问题，并进行了更新。\n* @spohngellert-o 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F800 中添加了 precommit 配置。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F807 中将 Python 3.7 和 3.8 从构建测试中移除，并新增了 Python 3.12 的测试。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F809 中暂时锁定 scikit-learn 版本为 1.6 以下，直至 xgboost 的修复版本发布。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F806 中使用 sklearn 1.5.2 更新了 CausalTree 的基础 _tree 模块。\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F803 中解决了 #796 问题，移除了对 pygam 的依赖，改用 IsotonicRegression。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F812 中移除了 pygam 依赖，并允许使用最新版本的 Cython、numpy、scipy 和 scikit-learn。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F814 中重新添加了 Python 3.12 的测试和轮子文件。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F815 中发布了 v0.15.3 版本。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fcompare\u002Fv0.15.2...v0.15.3","2025-02-20T18:36:55",{"id":178,"version":179,"summary_zh":180,"released_at":181},198011,"v0.15.2","## 变更内容\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F761 中修复了 MAINTAINERS.md 文件中的拼写错误。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F762 中更新了 Python 发布 GitHub Actions 工作流，以构建多平台的 wheel 包。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F763 中移除了针对 32 位系统的构建，因为这些构建会失败。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F765 中移除了 musllinux 构建。\n* 由 @paullo0106 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F766 中修复了问题 764，以处理独热编码转换中的边界情况。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F773 中修复了 #771，并为 get\u002Fplot_tmlegain() 添加了测试。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F776 中向 causaltree\u002Fforest 添加了一个显式的处理变量输入参数。\n* 由 @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F778 中解决了开发\u002F安装相关的问题 #767 和 #769。\n* 由 @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F782 中移除了环境配置 #780。\n* 由 @spohngellert-o 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F786 中实现了无放回的多对一倾向得分匹配。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F788 中更新了 XGBoost 的输入参数，使其与最新的 API 兼容。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F790 中使 torch 成为可选依赖，并使用最新的 TensorFlow API 更新了 DragonNet。\n* 由 @emmanuel-ferdman 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F793 中更新了示例引用。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F792 中将版本号升级至 0.15.2。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F794 中将 cibuildwheel 版本更新至 2.21。\n* 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F795 中将 numpy 版本锁定为小于 2。\n\n## 新贡献者\n* @spohngellert-o 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F786 中做出了首次贡献。\n* @emmanuel-ferdman 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F793 中做出了首次贡献。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fcompare\u002Fv0.15.1...v0.15.2","2024-10-01T06:14:15",{"id":183,"version":184,"summary_zh":185,"released_at":186},198012,"v0.15.1","* 本次发布修复了 macOS 上的构建失败问题，以及 `UpliftTreeClassifier` 中的几个 bug。\n* 我们迎来了两位新贡献者：@lee-junseok 和 @IanDelbridge。感谢你们的贡献！\n\n## 变更内容\n* 松弛 `pandas` 版本要求，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F743 中完成。\n* 移除 `match.__main__()` 中未定义的变量，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F749 中完成。\n* 修复 `distr_plot_single_sim()` 函数，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F750 中完成。\n* 为 `create_table_one` 添加 `with_std` 和 `with_counts` 参数，由 @lee-junseok 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F748 中完成。\n* 修复分层抽样调用问题，由 @IanDelbridge 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F756 中完成。\n* 实现 20240207 真实叶大小优化，由 @IanDelbridge 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F753 中完成。\n* 757：在敏感性分析中添加 `return_ci=True` 参数，由 @lee-junseok 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F758 中完成。\n* 使用更多元学习器更新敏感性测试，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F759 中完成。\n* 手动在 `setup.py` 中指定使用 `fork` 进行多进程操作，由 @IanDelbridge 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F754 中完成。\n* 发布 v0.15.1 版本，由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F760 中完成。\n\n## 新贡献者\n* @lee-junseok 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F748 中完成了首次贡献。\n* @IanDelbridge 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F756 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fcompare\u002Fv0.15.0...v0.15.1","2024-04-19T00:05:19",{"id":188,"version":189,"summary_zh":190,"released_at":191},198013,"v0.15.0","* 在本次发布中，我们对文档进行了重构、清理了依赖项并优化了安装流程——此外还修复了大量 bug。\n* 我们迎来了四位新贡献者：@peterloleungyau、@SuperBo、@ZiJiaW 和 @erikcs，他们首次向 CausalML 提交了 Pull Request。感谢大家的贡献！\n\n## 更新内容\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F673 中更新了 python-publish.yml\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F676 中将 build.[os, tools.python] 添加到 .readthedocs.yml\n* @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F683 中更新了包含因果树解释的笔记本示例\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F681 中移除了 pyproject.toml 中对 numpy 和 pandas 版本的限制\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F688 中添加了治理文档\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F691 中更新了 GOVERNANCE.md\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F693 中将 dev\u002Fgovernance 文档改为蛇形命名法\n* @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F686 中减少了 causalml 对 sklearn 的依赖\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F696 中更新了 MAINTAINERS.md\n* @peterloleungyau 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F695 中修改了 UpliftTreeClassifier.growDecisionTreeFrom 以提升速度\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F698 中更新了 README.md\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F697 中将笔记本示例添加到文档中\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F701 中解决了 #166 中的改进建议\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F702 中修复了 Read the Docs 构建错误\n* @SuperBo 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F700 中用 C++ 的栈\u002F堆方法替换了 trees 模块中的 Stack 和 PriorityHeap\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F705 中为 #701 提供了热修复\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F710 中修复了 dev\u002F699 的 Windows 构建问题\n* @ZiJiaW 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F714 中公开了 rlearner 的 n_jobs 参数\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F720 中进行了最小化修复以解决 #707 问题\n* @cclauss 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F454 中将 Python 3.10、3.11 和 3.12 加入测试范围\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F726 中从 python-test.yaml 的构建测试中移除了 Python 3.12\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F723 中修复了 plot_std_diffs，添加了 bal_tol，并将多个图表合并为一个\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F725 中编写了 dev\u002F677 的文档\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F728 中更新了文档\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F731 中解决了 #730 问题，并清理了 Conda 安装说明\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F729 中为 MAQ #662 提供了最小化封装\n* @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F734 中为因果树缺失值支持 #733 提供了临时修复\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F735 中解决了 #639 问题，c","2024-02-22T19:20:29",{"id":193,"version":194,"summary_zh":195,"released_at":196},198014,"v0.14.1","* 此版本主要修复了安装问题，并相应更新了文档。\n* 我们新增了4位贡献者：@bsaunders27、@xhulianoThe1、@zpppy 和 @bsaunders23。感谢大家的贡献！\n\n## 变更内容\n* 更新 python-publish 工作流文件，以修复包发布问题… 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F633 中完成。\n* 更新 Cython 依赖项 由 @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F640 中完成。\n* 修复在 Mac M1 硬件上的构建问题 由 @bsaunders27 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F641 中完成。\n* 代码清理 由 @xhulianoThe1 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F634 中完成。\n* 支持基于验证误差的早停 由 @zpppy 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F614 中完成。\n* 撤销“支持基于验证误差的早停”功能 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F645 中完成。\n* 再次实现“支持基于验证误差的早停”功能 由 @zpppy 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F648 中完成。\n* 修复：更新 `envs\u002F` 目录下的 conda 构建配置，以支持预编译的 M1 安装 由 @bsaunders27 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F646 中完成。\n* 更新 README 和 .github\u002Fworkflows 中的安装说明 由 @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F637 中完成。\n* 修复：模拟随机化试验函数 由 @bsaunders23 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F656 中完成。\n* 解决 issue 252 由 @vincewu51 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F660 中完成。\n* @ras44 的 651 号图可视化方案，解决 #651 问题 由 @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F661 中完成。\n* 使用 black 进行代码格式化 由 @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F663 中完成。\n* 修复 issue 650 由 @vincewu51 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F659 中完成。\n* 在工作流构建中安装 graphviz 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F668 中完成。\n* 更新 docs\u002Finstallation.rst 文档 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F667 中完成。\n* 安排每月一次的 PyPI 安装测试 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F670 中完成。\n* 发布 v0.14.1 版本 由 @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F672 中完成。\n\n## 新增贡献者\n* @bsaunders27 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F641 中完成了首次贡献。\n* @xhulianoThe1 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F634 中完成了首次贡献。\n* @zpppy 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F614 中完成了首次贡献。\n* @bsaunders23 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F656 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fcompare\u002Fv0.14.0...v0.14.1","2023-08-28T00:37:10",{"id":198,"version":199,"summary_zh":200,"released_at":201},198015,"v0.14.0","* CausalML 在 PyPI 上的下载量已突破 [200 万次](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fcausalml)，并在 GitHub 上获得了 [4,100 颗星](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fstargazers)。感谢大家选择 CausalML 并在 GitHub 上支持我们。\n* 我们迎来了 7 位新贡献者：@darthtrevino、@ras44、@AbhishekVermaDH、@joel-mcmurry、@AlxClt、@kklein 和 @volico。欢迎加入 CausalML 开发团队，感谢你们的贡献！\n\n## 变更内容\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F545 中修复了 Read the Docs 构建失败的问题。\n* @darthtrevino 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F553 中添加了 `pyproject.toml` 文件，包含符合 PEP518 标准的基本构建依赖。\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F550 中将 `environment-py38.yml` 文件中的 NumPy 版本升级至 1.23.2。\n* @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F557 中修复了因果树的分裂准则问题，并优化了拟合过程。\n* @AbhishekVermaDH 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F558 中修正了数学符号的渲染问题，使其正确显示。\n* @joel-mcmurry 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F568 中更新了 `methodology.rst` 文档。\n* @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F583 中对因果树的自助抽样和 `max_leaf_nodes` 参数进行了修复，并做了一些小幅更新。\n* @AlxClt 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F597 中修复了 #596 问题。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F603 中为 `Explainer.plot_shap_values()` 方法添加了 `**kwargs` 参数。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F604 中使 DragonNet 的 Adam 优化成为可选配置，并允许用户自定义学习率和训练轮数。\n* @huigangchen 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F606 中修复了 `drivlearner` 中方差计算的 bug。\n* @huigangchen 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F617 中修复了 DragonNet 中 Adam 优化器参数名 `lr` 已弃用的问题。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F631 中修复了当 NumPy ≥ 1.24 且 Pandas ≥ 2.0 时构建过程中出现的 `AttributeError`。\n* @kklein 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F627 中将 `plot_shap_values` 方法中的 `**kwargs` 参数传递下去。\n* @dependabot 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F629 中将 SciPy 从 1.4.1 升级至 1.10.0。\n* @volico 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F570 中实现了 t 检验准则功能。\n* @jroessler 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F562 中新增了交互树（IT）、因果推断树（CIT）和不变性 DDP（IDDP）模型。\n* @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F623 中为因果树添加了返回反事实结果的选项。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F632 中将版本号提升至 0.14。\n\n## 新贡献者\n* @darthtrevino 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F553 中完成了首次贡献。\n* @ras44 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F550 中完成了首次贡献。\n* @AbhishekVermaDH 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F558 中完成了首次贡献。\n* @joel-mcmurry 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F568 中完成了首次贡献。\n* @AlxClt 在 https:","2023-07-08T20:19:45",{"id":203,"version":204,"summary_zh":205,"released_at":206},198016,"v0.13.0","* CausalML 在 PyPI 上的下载量已突破 100 万次（[链接](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fcausalml)），并在 GitHub 上获得了 3,200 颗星（[链接](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fstargazers)）。感谢大家选择 CausalML 并在 GitHub 上给予支持。\n* 我们迎来了 7 位新贡献者：@saiwing-yeung、@lixuan12315、@aldenrogers、@vincewu51、@AlkanSte、@enzoliao 和 @alexander-pv。感谢你们的贡献！\n* @alexander-pv 对 `CausalTreeRegressor` 进行了重构，并新增了 `CausalRandomForestRegressor`，使其与 `scikit-learn` 的 Cython 树模块集成更加顺畅。他还集成了 `shap` 库，用于因果树和随机森林的解释。请查看相关示例笔记本：[链接](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fblob\u002Fmaster\u002Fexamples\u002Fcausal_trees_interpretation.ipynb)。\n* 我们已停止对 Python 3.6 的支持，并移除了相应的测试工作流。\n\n## 变更内容\n* @saiwing-yeung 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F488 中修复了拼写错误 `(% -> $)`。\n* @t-tte 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F482 中添加了计算 PNS 界限的函数。\n* @t-tte 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F492 中修复了一个硬编码错误。\n* @ppstacy 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F485 中更新了 `conda` 安装说明及在 conda-forge 中维护的相关指南。\n* @lixuan12315 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F496 中更新了 `examples.rst` 文件。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F504 中修复了 `XGBRRegressor` 中 `effect_learner_objective` 的错误设置。\n* @paullo0106 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F505 中修复了 Filter F 无法兼容最新 `statsmodels` 版本中 F 检验 F 值格式的问题。\n* @aldenrogers 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F508 中将测试从 `setup.py` 中排除。\n* @zhenyuz0500 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F509 中为 F 滤波器和 LR 滤波器启用了更高阶的特征重要性功能。\n* @vincewu51 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F511 中进行了 ATE 预训练。\n* @AlkanSte 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F518 中更新了 `methodology.rst` 文件。\n* @enzoliao 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F520 中修复了多模型情况下 qini 计算结果错误的问题。\n* @enzoliao 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F523 中增加了对 `get_qini()` 的测试。\n* @jroessler 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F531 中修复了 `uplift_trees_with_synthetic_data.ipynb` 中的拼写错误。\n* @jeongyoonlee 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F535 中从工作流中移除了 Python 3.6 的测试。\n* @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F522 中更新了因果树相关代码。\n* @alexander-pv 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F536 中提供了因果树解释的示例。\n\n## 新贡献者\n* @saiwing-yeung 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F488 中完成了首次贡献。\n* @lixuan12315 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F496 中完成了首次贡献。\n* @aldenrogers 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F508 中完成了首次贡献。\n* @vincewu51 在 https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F511 中完成了首次贡献。\n* @AlkanSte 完成了首次…","2022-09-02T21:17:27",{"id":208,"version":209,"summary_zh":210,"released_at":211},198017,"v0.12.3","This patch is to release a version without the constraint of Shap which can be used for conda-forge.\r\n\r\n## What's Changed\r\n* Modify the requirement version of Shap by @ppstacy in https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F483\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fcompare\u002Fv0.12.2...v0.12.3","2022-03-14T23:35:04",{"id":213,"version":214,"summary_zh":215,"released_at":216},198018,"v0.12.2","This patch includes three updates by our latest contributors, @tonkolviktor and @heiderich. We also start using [black](https:\u002F\u002Fblack.readthedocs.io\u002Fen\u002Fstable\u002Fintegrations\u002Findex.html), a Python formatter. Please check out the updated [contribution guideline](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) to learn how to use it.\r\n\r\n## What's Changed\r\n* Opens up scipy dependency version range towards newer releases (#441) by @tonkolviktor in https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F473\r\n* Merely define preferred backend for joblib instead of hard-coding it by @heiderich in https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F476\r\n* Allow parallel prediction and make joblib's backend configurable for UpliftRandomForestClassifier by @heiderich in https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F477\r\n* Reformat code using black by @jeongyoonlee in https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F474\r\n\r\n## New Contributors\r\n* @tonkolviktor made their first contribution in https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F473\r\n* @heiderich made their first contribution in https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fpull\u002F476\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fcompare\u002Fv0.12.1...v0.12.2","2022-02-18T18:58:10",{"id":218,"version":219,"summary_zh":220,"released_at":221},198019,"v0.12.1","This patch includes two bug fixes for UpliftRandomForestClassifier as follows:\r\n\r\n- #462 by @paullo0106: Use the correct `treatment_idx` for `fillTree()` when applying validation data set\r\n- #468 by @jeongyoonlee: Switch the joblib backend for UpliftRandomForestClassifier to threading to avoid memory copy across trees","2022-02-05T03:09:14",{"id":223,"version":224,"summary_zh":225,"released_at":226},198020,"v0.12.0","# 0.12.0 (Jan 2022)\r\n\r\n- CausalML surpassed [637K downloads](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fcausalml) on PyPI and [2,500 stars](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml\u002Fstargazers) on Github!  \r\n- We have 4 new community contributors, Luis (@lgmoneda ), Ravi (@raviksharma), Louis (@LouisHernandez17) and JackRab (@JackRab). Thanks for the contribution!\r\n- We refactored and speeded up UpliftTreeClassifier\u002FUpliftRandomForestClassifier by 5x with Cython  (#422 #440 by @jeongyoonlee)\r\n- We revamped our [API documentation](https:\u002F\u002Fcausalml.readthedocs.io\u002Fen\u002Flatest\u002Fabout.html), it now includes the latest methodology, references, installation, notebook examples, and graphs! (#413 by @huigangchen @t-tte @zhenyuz0500 @jeongyoonlee @paullo0106)\r\n- Our team gave talks at [2021 Conference on Digital Experimentation @ MIT (CODE@MIT)](https:\u002F\u002Fide.mit.edu\u002Fevents\u002F2021-conference-on-digital-experimentation-mit-codemit\u002F), [Causal Data Science Meeting 2021](https:\u002F\u002Fwww.causalscience.org\u002Fmeeting\u002Fprogram\u002Fday-2\u002F),  and [KDD 2021 Tutorials](https:\u002F\u002Fcausal-machine-learning.github.io\u002Fkdd2021-tutorial\u002F) on CausalML introduction and applications. Please take a look if you missed them! Full list of publications and talks can be found [here](https:\u002F\u002Fgithub.com\u002Fuber\u002Fcausalml#conference-talks-and-publications-by-causalml-team).\r\n\r\n## Updates\r\n\r\n- Update documentation on Instrument Variable methods @huigangchen (#447)\r\n- Add benchmark simulation studies example notebook by @t-tte (#443)\r\n- Add sample_weight support for R-learner by @paullo0106 (#425)\r\n- Fix incorrect binning of numeric features in UpliftTreeClassifier by @jeongyoonlee (#420)\r\n- Update papers, talks, and publication info to README and refs.bib by @zhenyuz0500 (#410 #414 #433)\r\n- Add instruction for contributing.md doc by @jeongyoonlee (#408)\r\n- Fix incorrect feature importance calculation logic by @paullo0106 (#406)\r\n- Add parallel jobs support for NearestNeighbors search with n_jobs parameter by @paullo0106 (#389)\r\n- Fix bug in simulate_randomized_trial by @jroessler (#385)\r\n- Add GA pytest workflow by @ppstacy (#380)\r\n","2022-01-14T17:29:58",{"id":228,"version":229,"summary_zh":76,"released_at":230},198021,"v0.11.1","2021-08-02T20:46:49"]