[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-AutoViML--Auto_ViML":3,"tool-AutoViML--Auto_ViML":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 真正成长为懂上",144730,2,"2026-04-07T23:26:32",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[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},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":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":77,"owner_website":77,"owner_url":79,"languages":80,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":32,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":110,"github_topics":111,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":122,"updated_at":123,"faqs":124,"releases":153},5413,"AutoViML\u002FAuto_ViML","Auto_ViML","Automatically Build Multiple ML Models with a Single Line of Code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.","Auto_ViML 是一款专为数据科学家和机器学习开发者设计的自动化建模工具，旨在通过一行代码快速构建多个高性能且可解释的机器学习模型。它主要解决了传统建模过程中特征工程繁琐、模型选择耗时以及结果难以解释的痛点，帮助用户在减少特征数量的同时保持甚至提升模型精度。\n\n该工具的核心亮点在于其“变体（Variant）”与“可解释（Interpretable）”的设计理念。Auto_ViML 能自动尝试多种模型组合与特征子集，智能筛选出对预测贡献最大的关键变量，通常能将所需特征数量减少 20% 至 99%，从而生成更简洁、更易理解的模型。此外，它还内置了强大的自动化处理能力，支持自动识别并处理文本数据（Auto_NLP）、日期时间特征生成，以及利用 SULOV 算法剔除高度相关特征。针对数据分布不均的问题，Auto_ViML 集成了高性能的 `imbalanced_ensemble` 库，显著提升了不平衡数据集上的表现。最新版本还增加了对 GPU 加速的支持，并兼容 Python 3.12 及 Pandas 2.0，非常适合需要在 Colab、Kaggle 等现代环境中高效工作的研究人员和工程","Auto_ViML 是一款专为数据科学家和机器学习开发者设计的自动化建模工具，旨在通过一行代码快速构建多个高性能且可解释的机器学习模型。它主要解决了传统建模过程中特征工程繁琐、模型选择耗时以及结果难以解释的痛点，帮助用户在减少特征数量的同时保持甚至提升模型精度。\n\n该工具的核心亮点在于其“变体（Variant）”与“可解释（Interpretable）”的设计理念。Auto_ViML 能自动尝试多种模型组合与特征子集，智能筛选出对预测贡献最大的关键变量，通常能将所需特征数量减少 20% 至 99%，从而生成更简洁、更易理解的模型。此外，它还内置了强大的自动化处理能力，支持自动识别并处理文本数据（Auto_NLP）、日期时间特征生成，以及利用 SULOV 算法剔除高度相关特征。针对数据分布不均的问题，Auto_ViML 集成了高性能的 `imbalanced_ensemble` 库，显著提升了不平衡数据集上的表现。最新版本还增加了对 GPU 加速的支持，并兼容 Python 3.12 及 Pandas 2.0，非常适合需要在 Colab、Kaggle 等现代环境中高效工作的研究人员和工程师使用。","# Auto-ViML\r\n\r\n![banner](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_83a89fdd0b90.png)\u003Cbr>\r\nAutomatically Build Various Interpretable ML models fast!\u003Cbr>\r\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_a13802c228b3.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fautoviml\u002Fweek)\r\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_96bf67c9493e.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fautoviml\u002Fmonth)\r\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_5d42cb9f32fd.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fautoviml)\r\n[![standard-readme compliant](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstandard--readme-OK-green.svg?style=flat-square)](https:\u002F\u002Fgithub.com\u002FRichardLitt\u002Fstandard-readme)\r\n[![Python Versions](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fautoviml.svg?logo=python&logoColor=white)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fautoviml)\r\n[![PyPI Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fautoviml.svg?logo=pypi&logoColor=white)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fautoviml)\r\n[![PyPI License](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Fautoviml.svg)](https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML\u002Fblob\u002Fmaster\u002FLICENSE)\r\n\r\nAuto_ViML is pronounced as \"auto vimal\" (autovimal logo created by Sanket Ghanmare).\r\n\r\n## Update (Jan 2025)\r\n\u003Col>\r\n\u003Cli>\u003Cb>Auto_ViML is now upgraded to version 0.2 \u003C\u002Fb>which means it now runs on Python 3.12 or greater and also pandas 2.0 - this is a huge upgrade to those working in Colabs, Kaggle and other latest kernels. Please make sure you check the `requirements.txt` file to know which versions are recommended.\u003C\u002Fli>\r\n\u003C\u002Fol>\r\n\r\n## Update (March 2023)\r\n\u003Col>\r\n\u003Cli>Auto_ViML has a new flag to speed up processing using GPU's. Just set the `GPU_flag`=`True` on Colab and other environments. But don't forget to set the runtime type to be \"GPU\" while running on Colab. Otherwise you will get an error.\u003C\u002Fli>\r\n\u003C\u002Fol>\r\n\r\n## Update (May 2022)\r\n\u003Cul>\r\n\u003Cli>\u003Cb>Auto_ViML as of version 0.1.710 uses a very high performance library called `imbalanced_ensemble` for Imbalanced dataset problems.\u003C\u002Fb> It will produce a 5-10% boost in your balanced_accuracy based on my experience with  many datasets I have tried.\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\u003Cbr>\r\n\u003Cp>In addition, new features in this version are:\u003Cbr>\r\n\u003Cul>\r\n\u003Cli>SULOV -> Uses the SULOV algorithm for removing highly correlated features automatically.\u003C\u002Fli>\r\n\u003Cli>Auto_NLP -> AutoViML automatically detects Text variables and does NLP processing using Auto_NLP\u003C\u002Fli>\r\n\u003Cli>Date Time -> It automatically detects  date time variables and generates new features\u003C\u002Fli>\r\n\u003Cli>`imbalanced_ensemble` library -> Uses imbalanced_ensemble library for imbalanced data. Just set Imbalanced_Flag = True in arguments\u003C\u002Fli>\r\n\u003Cli>Feature Selection -> We use the same algorithm that featurewiz library uses: SULOV and Recursive XGBoost to select best features fast. See below.\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n## Table of Contents\r\n\u003Cul>\r\n\u003Cli>\u003Ca href=\"#background\">Background\u003C\u002Fa>\u003C\u002Fli>\r\n\u003Cli>\u003Ca href=\"#install\">Install\u003C\u002Fa>\u003C\u002Fli>\r\n\u003Cli>\u003Ca href=\"#usage\">Usage\u003C\u002Fa>\u003C\u002Fli>\r\n\u003Cli>\u003Ca href=\"#tips-for-using-auto_viml\">Tips for using Auto_ViML\u003C\u002Fa>\u003C\u002Fli>\r\n\u003Cli>\u003Ca href=\"#api\">API\u003C\u002Fa>\u003C\u002Fli>\r\n\u003Cli>\u003Ca href=\"#maintainers\">Maintainers\u003C\u002Fa>\u003C\u002Fli>\r\n\u003Cli>\u003Ca href=\"#contributing\">Contributing\u003C\u002Fa>\u003C\u002Fli>\r\n\u003Cli>\u003Ca href=\"#license\">License\u003C\u002Fa>\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\r\n## Background\r\n\u003Cp>Read this \u003Ca href=\"https:\u002F\u002Ftowardsdatascience.com\u002Fwhy-automl-is-an-essential-new-tool-for-data-scientists-2d9ab4e25e46\">Medium article to learn how to use Auto_ViML effectively.\u003C\u002Fa>\r\n\r\n\u003Cp>Auto_ViML was designed for building High Performance Interpretable Models with the fewest variables needed.\r\nThe \"V\" in Auto_ViML stands for Variant because it tries multiple models with multiple features to find you the best performing model for your dataset. The \"i\" in Auto_ViML stands for \"interpretable\" since Auto_ViML selects the least number of features necessary to build a simpler, more interpretable model. In most cases, Auto_ViML builds models with 20%-99% fewer features than a similar performing model with all included features (this is based on my trials. Your experience may vary).\u003Cbr>\r\n\u003Cp>\r\nAuto_ViML is every Data Scientist's model accelerator tool that:\r\n\u003Col>\r\n\u003Cli>\u003Cb>Helps you with data cleaning\u003C\u002Fb>: you can send in your entire dataframe as is and Auto_ViML will suggest changes to help with missing values, formatting variables, adding variables, etc. It loves dirty data. The dirtier the better!\u003C\u002Fli>\r\n\u003Cli>\u003Cb>Performs Feature Selection\u003C\u002Fb>: Auto_ViML selects variables automatically by default. This is very helpful when you have hundreds if not thousands of variables since it can readily identify which of those are important variables vs which are unnecessary. You can turn this off as well (see API).\u003C\u002Fli>\r\n\r\n![xgboost](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_b4a4bd598026.png)\r\n\u003Cli>\u003Cb>Removes highly correlated features automatically\u003C\u002Fb>. If two variables are highly correlated in your dataset, which one should you remove and which one should you keep? The decision is not as easy as it looks. Auto_ViML uses the SULOV algorithm to remove highly correlated features. You can understand SULOV from this picture more intuitively.\u003C\u002Fli>\r\n\r\n![sulov](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_a0b3d3b1cb94.jpg)\r\n\r\n\u003Cli>\u003Cb>Generates performance results graphically\u003C\u002Fb>. Just set verbose = 1 (or) 2 instead of 0 (silent). You will get higher quality of insights as you increase verbosity. \u003C\u002Fli>\r\n\u003Cli>\u003Cb>Handles text, date-time, structs (lists, dictionaries), numeric, boolean, factor and categorical\u003C\u002Fb> variables all in one model using one straight process.\u003C\u002Fli>\r\n\u003C\u002Fol>\r\nAuto_ViML is built using scikit-learn, numpy, pandas and matplotlib. It should run on most Python 3 Anaconda installations. You won't have to import any special libraries other than \"XGBoost\", \"Imbalanced-Learn\", \"CatBoost\", and \"featuretools\" library. We use \"SHAP\" library for interpretability. \u003Cbr>But if you don't have these libraries, Auto_ViML will install those for you automatically.\r\n\r\n## Install\r\n\r\n**Prerequsites:**\r\n\r\n- [Anaconda](https:\u002F\u002Fdocs.anaconda.com\u002Fanaconda\u002Finstall\u002F)\r\n\r\nTo clone Auto_ViML, it is better to create a new environment, and install the required dependencies:\r\n\r\nTo install from PyPi:\r\n\u003Cp>\r\n\u003Ccode>$ pip install autoviml --upgrade --ignore-installed\u003C\u002Fcode>\u003Cbr \u002F>\r\n\r\n\r\n```\r\npip install git+https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML.git\r\n```\r\n\r\nTo install from source:\r\n\r\n```\r\ncd \u003CAutoVIML_Destination>\r\ngit clone git@github.com:AutoViML\u002FAuto_ViML.git\r\n# or download and unzip https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML\u002Farchive\u002Fmaster.zip\r\nconda create -n \u003Cyour_env_name> python=3.7 anaconda\r\nconda activate \u003Cyour_env_name> # ON WINDOWS: `source activate \u003Cyour_env_name>`\r\ncd Auto_ViML\r\npip install -r requirements.txt\r\n```\r\n\r\n## Usage\r\n\r\nIn the same directory, open a Jupyter Notebook and use this line to import the .py file:\r\n\r\n```\r\nfrom autoviml.Auto_ViML import Auto_ViML\r\n```\r\n\r\nLoad a data set (any CSV or text file) into a Pandas dataframe and split it into Train and Test dataframes. If you don't have a test dataframe, you can simple assign the test variable below to '' (empty string):\r\n\r\n```\r\nmodel, features, trainm, testm = Auto_ViML(\r\n    train,\r\n    target,\r\n    test,\r\n    sample_submission,\r\n    hyper_param=\"GS\",\r\n    feature_reduction=True,\r\n    scoring_parameter=\"weighted-f1\",\r\n    KMeans_Featurizer=False,\r\n    Boosting_Flag=False,\r\n    Binning_Flag=False,\r\n    Add_Poly=False,\r\n    Stacking_Flag=False,\r\n    Imbalanced_Flag=False,\r\n    verbose=0,\r\n)\r\n```\r\n\r\nFinally, it writes your submission file to disk in the current directory called `mysubmission.csv`.\r\nThis submission file is ready for you to show it clients or submit it to competitions.\r\nIf no submission file was given, but as long as you give it a test file name, it will create a submission file for you named `mySubmission.csv`.\r\nAuto_ViML works on any Multi-Class, Multi-Label Data Set. So you can have many target labels.\r\nYou don't have to tell Auto_ViML whether it is a Regression or Classification problem.\r\n\r\n## Tips for using Auto_ViML:\r\n1. `scoring_parameter`: For Classification problems and imbalanced classes, choose scoring_parameter=\"balanced_accuracy\". It works better.\r\n2. `Imbalanced_Flag`: For Imbalanced Classes (\u003C5% samples in rare class), choose \"Imbalanced_Flag\"=True. You can also set this flag to True for Regression problems where the target variable might have skewed distributions.\r\n3. `target`: For Multi-Label dataset, the target input target variable can be sent in as a list of variables.\r\n4. `Boosting_Flag`: It is recommended that you first set Boosting_Flag=None to get a Linear model. Once you understand that, then you can try to set Boosting_Flag=False to get a Random Forest model. Finally, try Boosting_Flag=True to get an XGBoost model. This is the order that we recommend in order to use Auto_ViML. Finally try Boosting_Flag=\"CatBoost\" to get a complex but high performing model.\r\n5. `Binning_Flag`: Binning_Flag=True improves a CatBoost model since it adds to the list of categorical vars in data\r\n6. `KMeans_featurizer`: KMeans_featurizer=True works well in NLP and CatBoost models since it creates cluster variables\r\n7. `Add_Poly`: Add_Poly=3 improves certain models where there is date-time or categorical and numeric variables\r\n8. `feature_reduction`: feature_reduction=True is the default and works best. But when you have \u003C10 features in data, set it to False\r\n9. `Stacking_Flag`: Do not set Stacking_Flag=True with Linear models since your results may not look great.\r\n10. `Stacking_Flag`: Use Stacking_Flag=True only for complex models and as a last step with Boosting_Flag=True or CatBoost\r\n11. `hyper_param`: Leave hyper_param =\"RS\" as input since it runs faster than GridSearchCV and gives better results unless you have a small data set and can afford to spend time on hyper tuning.\r\n12. `KMeans_Featurizer`: KMeans_Featurizer=True does not work well for small data sets. Use it for data sets > 10,000 rows.\r\n13. `Final thoughts`: Finally Auto_ViML is meant to be a baseline or challenger solution to your data set. So use it for making quick models that you can compare against or in Hackathons. It is not meant for production!\r\n\r\n## API\r\n\r\n**Arguments**\r\n\r\n- `train`: could be a datapath+filename or a dataframe. It will detect which is which and load it.\r\n- `test`: could be a datapath+filename or a dataframe. If you don't have any, just leave it as \"\".\r\n- `submission`: must be a datapath+filename. If you don't have any, just leave it as empty string.\r\n- `target`: name of the target variable in the data set.\r\n- `sep`: if you have a spearator in the file such as \",\" or \"\\t\" mention it here. Default is \",\".\r\n- `scoring_parameter`: if you want your own scoring parameter such as \"f1\" give it here. If not, it will assume the appropriate scoring param for the problem and it will build the model.\r\n- `hyper_param`: Tuning options are GridSearch ('GS') and RandomizedSearch ('RS'). Default is 'RS'.\r\n- `feature_reduction`: Default = 'True' but it can be set to False if you don't want automatic feature_reduction since in Image data sets like digits and MNIST, you get better results when you don't reduce features automatically. You can always try both and see.\r\n- `KMeans_Featurizer`\r\n  - `True`: Adds a cluster label to features based on KMeans. Use for Linear.\r\n  - `False (default)` For Random Forests or XGB models, leave it False since it may overfit.\r\n- `Boosting Flag`: you have 4 possible choices (default is False):\r\n  - `None` This will build a Linear Model\r\n  - `False` This will build a Random Forest or Extra Trees model (also known as Bagging)\r\n  - `True` This will build an XGBoost model\r\n  - `CatBoost` This will build a CatBoost model (provided you have CatBoost installed)\r\n- `Add_Poly`: Default is 0 which means do-nothing. But it has three interesting settings:\r\n  - `1` Add interaction variables only such as x1*x2, x2*x3,...x9\\*10 etc.\r\n  - `2` Add Interactions and Squared variables such as x1**2, x2**2, etc.\r\n  - `3` Adds both Interactions and Squared variables such as x1*x2, x1**2,x2*x3, x2**2, etc.\r\n- `Stacking_Flag`: Default is False. If set to True, it will add an additional feature which is derived from predictions of another model. This is used in some cases but may result in overfitting. So be careful turning this flag \"on\".\r\n- `Binning_Flag`: Default is False. It set to True, it will convert the top numeric variables into binned variables through a technique known as \"Entropy\" binning. This is very helpful for certain datasets (especially hard to build models).\r\n- `Imbalanced_Flag`: Default is False. Uses imbalanced_ensemble library for imbalanced data. Just set Imbalanced_Flag = True in arguments\r\n- `verbose`: This has 3 possible states:\r\n  - `0` limited output. Great for running this silently and getting fast results.\r\n  - `1` more charts. Great for knowing how results were and making changes to flags in input.\r\n  - `2` lots of charts and output. Great for reproducing what Auto_ViML does on your own.\r\n\r\n**Return values**\r\n\r\n- `model`: It will return your trained model\r\n- `features`: the fewest number of features in your model to make it perform well\r\n- `train_modified`: this is the modified train dataframe after removing and adding features\r\n- `test_modified`: this is the modified test dataframe with the same transformations as train\r\n\r\n## Maintainers\r\n\r\n* [@AutoViML](https:\u002F\u002Fgithub.com\u002FAutoViML)\r\n* [@morenoh149](https:\u002F\u002Fgithub.com\u002Fmorenoh149)\r\n* [@hironroy](https:\u002F\u002Fgithub.com\u002Fhironroy)\r\n\r\n## Contributing\r\n\r\nSee [the contributing file](CONTRIBUTING.md)!\r\n\r\nPRs accepted.\r\n\r\n## License\r\n\r\nApache License 2.0 © 2020 Ram Seshadri\r\n\r\n## DISCLAIMER\r\nThis project is not an official Google project. It is not supported by Google and Google specifically disclaims all warranties as to its quality, merchantability, or fitness for a particular purpose.\r\n","# Auto-ViML\n\n![banner](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_83a89fdd0b90.png)\u003Cbr>\n自动快速构建多种可解释的机器学习模型！\u003Cbr>\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_a13802c228b3.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fautoviml\u002Fweek)\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_96bf67c9493e.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fautoviml\u002Fmonth)\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_5d42cb9f32fd.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fautoviml)\n[![符合标准README](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstandard--readme-OK-green.svg?style=flat-square)](https:\u002F\u002Fgithub.com\u002FRichardLitt\u002Fstandard-readme)\n[![Python版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fautoviml.svg?logo=python&logoColor=white)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fautoviml)\n[![PyPI版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fautoviml.svg?logo=pypi&logoColor=white)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fautoviml)\n[![PyPI许可证](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Fautoviml.svg)](https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML\u002Fblob\u002Fmaster\u002FLICENSE)\n\nAuto_ViML 的发音为“auto vimal”（autovimal 标志由 Sanket Ghanmare 创作）。\n\n## 更新（2025年1月）\n\u003Col>\n\u003Cli>\u003Cb>Auto_ViML 现已升级至 0.2 版本\u003C\u002Fb>，这意味着它现在可在 Python 3.12 或更高版本以及 pandas 2.0 上运行。这对在 Colab、Kaggle 及其他最新内核中工作的用户来说是一次重大升级。请务必查看 `requirements.txt` 文件，以了解推荐的版本。\u003C\u002Fli>\n\u003C\u002Fol>\n\n## 更新（2023年3月）\n\u003Col>\n\u003Cli>Auto_ViML 新增了一个标志，可通过 GPU 加速处理。只需在 Colab 及其他环境中将 `GPU_flag` 设置为 `True` 即可。但在 Colab 中运行时，请别忘了将运行时类型设置为“GPU”，否则会报错。\u003C\u002Fli>\n\u003C\u002Fol>\n\n## 更新（2022年5月）\n\u003Cul>\n\u003Cli>\u003Cb>Auto_ViML 0.1.710 版本开始使用名为 `imbalanced_ensemble` 的高性能库来处理不平衡数据集问题。\u003C\u002Fb>根据我在多个数据集上的经验，这将使您的平衡准确率提升 5% 至 10%。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cbr>\n\u003Cp>此外，此版本的新功能包括：\u003Cbr>\n\u003Cul>\n\u003Cli>SULOV -> 使用 SULOV 算法自动移除高度相关的特征。\u003C\u002Fli>\n\u003Cli>Auto_NLP -> AutoViML 自动检测文本变量，并使用 Auto_NLP 进行 NLP 处理。\u003C\u002Fli>\n\u003Cli>日期时间 -> 自动检测日期时间变量并生成新特征。\u003C\u002Fli>\n\u003Cli>`imbalanced_ensemble` 库 -> 对于不平衡数据，使用 imbalanced_ensemble 库。只需在参数中将 Imbalanced_Flag 设置为 True 即可。\u003C\u002Fli>\n\u003Cli>特征选择 -> 我们采用与 featurewiz 库相同的算法：SULOV 和递归 XGBoost，以快速选择最佳特征。详情见下文。\u003C\u002Fli>\n\u003C\u002Ful>\n\n## 目录\n\u003Cul>\n\u003Cli>\u003Ca href=\"#background\">背景\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"#install\">安装\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"#usage\">使用\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"#tips-for-using-auto_viml\">使用 Auto_ViML 的技巧\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"#api\">API\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"#maintainers\">维护者\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"#contributing\">贡献\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"#license\">许可证\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\n## 背景\n\u003Cp>请阅读这篇 \u003Ca href=\"https:\u002F\u002Ftowardsdatascience.com\u002Fwhy-automl-is-an-essential-new-tool-for-data-scientists-2d9ab4e25e46\">Medium 文章，了解如何有效使用 Auto_ViML。\u003C\u002Fa>\n\n\u003Cp>Auto_ViML 旨在用最少的变量构建高性能且可解释的模型。“V”代表 Variant，因为它会尝试使用多种模型和特征组合，为您找到最适合数据集的模型。“i”代表“interpretable”，因为 Auto_ViML 会选择构建更简单、更易解释的模型所需的最少特征。在大多数情况下，Auto_ViML 构建的模型所使用的特征数量比包含所有特征的类似性能模型少 20% 至 99%（基于我的试验结果，您的体验可能会有所不同）。\u003Cbr>\n\u003Cp>\nAuto_ViML 是每位数据科学家的模型加速工具，它可以：\n\u003Col>\n\u003Cli>\u003Cb>帮助您进行数据清洗\u003C\u002Fb>：您可以直接上传完整的原始数据框，Auto_ViML 会建议如何处理缺失值、格式化变量、添加新变量等。它特别擅长处理脏数据——越脏越好！\u003C\u002Fli>\n\u003Cli>\u003Cb>执行特征选择\u003C\u002Fb>：Auto_ViML 默认会自动选择特征。当您拥有数百甚至数千个变量时，这一点非常有用，因为它可以迅速识别哪些是重要变量，哪些是不必要的。您也可以关闭此功能（详见 API）。\u003C\u002Fli>\n\n![xgboost](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_b4a4bd598026.png)\n\u003Cli>\u003Cb>自动移除高度相关的特征\u003C\u002Fb>。如果您的数据集中有两个高度相关的变量，您应该保留哪一个、舍弃哪一个？这个决定并不像看起来那么简单。Auto_ViML 使用 SULOV 算法来移除高度相关的特征。您可以通过这张图更直观地理解 SULOV。\u003C\u002Fli>\n\n![sulov](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_readme_a0b3d3b1cb94.jpg)\n\n\u003Cli>\u003Cb>以图形方式展示性能结果\u003C\u002Fb>。只需将 verbose 参数设置为 1 或 2，而不是 0（静默模式）。随着详细程度的提高，您将获得更高质量的洞察。\u003C\u002Fli>\n\u003Cli>\u003Cb>统一处理文本、日期时间、结构体（列表、字典）、数值、布尔、因子和分类变量\u003C\u002Fb>，所有这些都可通过一个流程整合到同一个模型中。\u003C\u002Fli>\n\u003C\u002Fol>\nAuto_ViML 基于 scikit-learn、numpy、pandas 和 matplotlib 构建。它应在大多数 Python 3 Anaconda 安装环境中运行。除了“XGBoost”、“Imbalanced-Learn”、“CatBoost”和“featuretools”库之外，您无需导入任何其他特殊库。我们使用“SHAP”库来实现模型的可解释性。\u003Cbr>不过，如果您没有这些库，Auto_ViML 会自动为您安装它们。\n\n## 安装\n\n**先决条件：**\n\n- [Anaconda](https:\u002F\u002Fdocs.anaconda.com\u002Fanaconda\u002Finstall\u002F)\n\n要克隆 Auto_ViML，最好创建一个新的环境并安装所需的依赖项：\n\n通过 PyPi 安装：\n\u003Cp>\n\u003Ccode>$ pip install autoviml --upgrade --ignore-installed\u003C\u002Fcode>\u003Cbr \u002F>\n\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML.git\n```\n\n从源代码安装：\n\n```bash\ncd \u003CAutoVIML_Destination>\ngit clone git@github.com:AutoViML\u002FAuto_ViML.git\n# 或下载并解压 https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML\u002Farchive\u002Fmaster.zip\nconda create -n \u003Cyour_env_name> python=3.7 anaconda\nconda activate \u003Cyour_env_name> # 在 Windows 上：`source activate \u003Cyour_env_name>`\ncd Auto_ViML\npip install -r requirements.txt\n```\n\n## 使用方法\n\n在同一目录下，打开一个 Jupyter Notebook，并使用以下代码导入 .py 文件：\n\n```python\nfrom autoviml.Auto_ViML import Auto_ViML\n```\n\n将数据集（任何 CSV 或文本文件）加载到 Pandas 数据框中，并将其拆分为训练数据框和测试数据框。如果你没有测试数据框，可以将下面的 `test` 变量简单地赋值为空字符串 `''`：\n\n```python\nmodel, features, trainm, testm = Auto_ViML(\n    train,\n    target,\n    test,\n    sample_submission,\n    hyper_param=\"GS\",\n    feature_reduction=True,\n    scoring_parameter=\"weighted-f1\",\n    KMeans_Featurizer=False,\n    Boosting_Flag=False,\n    Binning_Flag=False,\n    Add_Poly=False,\n    Stacking_Flag=False,\n    Imbalanced_Flag=False,\n    verbose=0,\n)\n```\n\n最后，它会将你的提交文件写入当前目录下的 `mysubmission.csv` 文件中。这个提交文件可以直接展示给客户或提交到竞赛中。如果未提供提交文件，但只要提供了测试文件名，它就会为你创建一个名为 `mySubmission.csv` 的提交文件。\n\nAuto_ViML 适用于任何多分类或多标签数据集，因此你可以拥有多个目标标签。你无需告知 Auto_ViML 这是一个回归问题还是分类问题。\n\n## 使用 Auto_ViML 的提示：\n1. `scoring_parameter`：对于分类问题和类别不平衡的情况，建议选择 `scoring_parameter=\"balanced_accuracy\"`，效果更好。\n2. `Imbalanced_Flag`：对于类别极度不平衡的数据集（稀有类别的样本占比小于 5%），建议将 `Imbalanced_Flag` 设置为 `True`。此外，在目标变量可能呈现偏态分布的回归问题中，也可以将此标志设置为 `True`。\n3. `target`：对于多标签数据集，目标变量输入可以以变量列表的形式传递。\n4. `Boosting_Flag`：建议先将 `Boosting_Flag` 设置为 `None`，以获得线性模型。理解后再尝试将 `Boosting_Flag` 设置为 `False`，以获得随机森林模型。最后再尝试将 `Boosting_Flag` 设置为 `True`，以获得 XGBoost 模型。这是我们推荐的使用顺序。最后还可以尝试将 `Boosting_Flag` 设置为 `\"CatBoost\"`，以获得复杂但性能更高的模型。\n5. `Binning_Flag`：当使用 CatBoost 模型时，将 `Binning_Flag` 设置为 `True` 可以提升模型性能，因为它会将更多的类别变量加入到特征列表中。\n6. `KMeans_featurizer`：在 NLP 和 CatBoost 模型中，将 `KMeans_featurizer` 设置为 `True` 效果很好，因为它会生成聚类变量。\n7. `Add_Poly`：将 `Add_Poly` 设置为 3 可以提升某些包含日期时间、类别型和数值型变量的模型的性能。\n8. `feature_reduction`：默认情况下，`feature_reduction=True` 是最佳选择。但如果数据中的特征数量少于 10 个，则应将其设置为 `False`。\n9. `Stacking_Flag`：不要在线性模型中启用 `Stacking_Flag=True`，因为结果可能不理想。\n10. `Stacking_Flag`：仅在复杂模型中，且作为最后一步与 `Boosting_Flag=True` 或 `CatBoost` 结合使用时，才启用 `Stacking_Flag=True`。\n11. `hyper_param`：建议将 `hyper_param` 保持为 `\"RS\"`，因为它比 GridSearchCV 运行更快，且通常能给出更好的结果，除非你的数据集非常小，且你有足够的时间进行超参数调优。\n12. `KMeans_Featurizer`：`KMeans_Featurizer=True` 不适用于小型数据集。建议在数据量超过 10,000 行时使用。\n13. 最后一点：Auto_ViML 主要用于作为你数据集的基准或挑战性解决方案。因此，适合用于快速构建模型，以便与其他模型进行比较，或在黑客马拉松中使用。它并不适用于生产环境！\n\n## API\n\n**参数**\n\n- `train`：可以是数据路径+文件名，也可以是数据框。程序会自动检测并加载。\n- `test`：可以是数据路径+文件名，也可以是数据框。如果没有测试数据，只需留空即可。\n- `submission`：必须是数据路径+文件名。如果没有提交文件，也只需留空即可。\n- `target`：数据集中目标变量的名称。\n- `sep`：如果文件中有分隔符，例如逗号 `\",\"` 或制表符 `\"\\t\"`，请在此处指定。默认为 `\",\"`。\n- `scoring_parameter`：如果你想使用自定义评分指标，例如 `\"f1\"`，可以在这里指定。否则，程序会根据问题类型自动选择合适的评分指标并构建模型。\n- `hyper_param`：调参选项包括网格搜索 (`'GS'`) 和随机搜索 (`'RS'`)。默认为 `'RS'`。\n- `feature_reduction`：默认为 `'True'`，但如果不需要自动特征降维，可以将其设置为 `False`。例如，在数字和 MNIST 等图像数据集中，不进行自动特征降维反而能得到更好的结果。你可以同时尝试两种设置，自行比较。\n- `KMeans_Featurizer`\n  - `True`：基于 KMeans 聚类为特征添加聚类标签。适用于线性模型。\n  - `False（默认）`：对于随机森林或 XGB 模型，建议保持为 `False`，因为可能会导致过拟合。\n- `Boosting Flag`：共有四种选择（默认为 `False`）：\n  - `None`：构建线性模型。\n  - `False`：构建随机森林或 Extra Trees 模型（即袋装法）。\n  - `True`：构建 XGBoost 模型。\n  - `CatBoost`：构建 CatBoost 模型（前提是已安装 CatBoost）。\n- `Add_Poly`：默认为 0，表示不执行任何操作。但它有三个有趣的设置：\n  - `1`：仅添加交互变量，如 x1*x2、x2*x3 等。\n  - `2`：添加交互变量和平方变量，如 x1**2、x2**2 等。\n  - `3`：同时添加交互变量和平方变量，如 x1*x2、x1**2、x2*x3、x2**2 等。\n- `Stacking_Flag`：默认为 `False`。如果设置为 `True`，会在模型中添加一个由其他模型预测结果衍生的附加特征。这种方法在某些情况下有用，但可能导致过拟合。因此，请谨慎启用此标志。\n- `Binning_Flag`：默认为 `False`。如果设置为 `True`，会通过称为“熵”分箱的技术，将数值最高的变量转换为分箱后的变量。这对于某些难以建模的数据集非常有帮助。\n- `Imbalanced_Flag`：默认为 `False`。对于类别不平衡的数据集，会使用 imbalanced_ensemble 库处理。只需在参数中将 `Imbalanced_Flag` 设置为 `True` 即可。\n- `verbose`：有三种输出级别：\n  - `0`：输出有限。非常适合静默运行并快速获得结果。\n  - `1`：提供更多图表。有助于了解结果并调整输入参数中的标志位。\n  - `2`：大量图表和输出信息。非常适合复现 Auto_ViML 的具体操作过程。\n\n**返回值**\n\n- `model`：返回训练好的模型。\n- `features`：使模型表现良好的最少特征数量。\n- `train_modified`：经过特征删除和添加处理后的修改版训练数据框。\n- `test_modified`：与训练数据框采用相同变换的修改版测试数据框。\n\n## 维护者\n\n* [@AutoViML](https:\u002F\u002Fgithub.com\u002FAutoViML)\n* [@morenoh149](https:\u002F\u002Fgithub.com\u002Fmorenoh149)\n* [@hironroy](https:\u002F\u002Fgithub.com\u002Fhironroy)\n\n## 贡献\n\n请参阅 [贡献指南](CONTRIBUTING.md)！欢迎提交 PR。\n\n## 许可证\n\nApache License 2.0 © 2020 Ram Seshadri\n\n## 免责声明\r\n本项目并非 Google 官方项目。Google 不对此项目提供任何支持，并明确声明不对该产品的质量、适销性或特定用途的适用性作出任何担保。","# Auto_ViML 快速上手指南\n\nAuto_ViML 是一个能够自动构建多种可解释机器学习模型的高效工具。它擅长处理脏数据，自动进行特征选择（使用 SULOV 算法去除高相关特征），并支持文本、日期时间等多种数据类型，旨在用最少的变量构建高性能模型。\n\n## 环境准备\n\n*   **操作系统**：Windows, macOS, Linux\n*   **Python 版本**：\n    *   **推荐**：Python 3.12 或更高版本（对应 Auto_ViML v0.2+，支持 pandas 2.0）。\n    *   **兼容**：Python 3.7+（旧版本）。\n*   **前置依赖**：\n    *   建议安装 [Anaconda](https:\u002F\u002Fdocs.anaconda.com\u002Fanaconda\u002Finstall\u002F) 以管理环境。\n    *   核心依赖库包括 `scikit-learn`, `numpy`, `pandas`, `matplotlib`。\n    *   可选增强库（若未安装，Auto_ViML 会尝试自动安装）：`xgboost`, `imbalanced-learn`, `catboost`, `featuretools`, `shap`。\n*   **硬件加速（可选）**：\n    *   若需使用 GPU 加速，请在 Colab 或本地环境中设置运行时类型为 \"GPU\"，并在代码中设置 `GPU_flag=True`。\n\n## 安装步骤\n\n推荐使用 `pip` 直接安装最新稳定版。国内用户若遇网络问题，可指定清华或阿里镜像源。\n\n### 方法一：通过 PyPI 安装（推荐）\n\n```bash\n# 使用默认源安装\npip install autoviml --upgrade --ignore-installed\n\n# 或使用国内镜像源加速（推荐中国开发者使用）\npip install autoviml --upgrade --ignore-installed -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 方法二：从源码安装\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML.git\ncd Auto_ViML\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\nAuto_ViML 的使用非常简洁，只需导入库并传入训练数据、目标变量及测试数据即可。它会自动判断是回归还是分类问题。\n\n### 1. 导入与数据准备\n\n在 Jupyter Notebook 或 Python 脚本中：\n\n```python\nfrom autoviml.Auto_ViML import Auto_ViML\nimport pandas as pd\n\n# 加载数据 (示例)\ntrain = pd.read_csv('train.csv')\ntest = pd.read_csv('test.csv') # 如果没有测试集，可设为空字符串 \"\"\n\n# 定义目标变量列名\ntarget = 'your_target_column_name'\n```\n\n### 2. 构建模型\n\n调用 `Auto_ViML` 函数，它将返回训练好的模型、选定的特征列表以及训练\u002F测试性能指标。\n\n```python\nmodel, features, trainm, testm = Auto_ViML(\n    train,\n    target,\n    test,                # 若无测试集，此处填 \"\"\n    sample_submission=\"\", # 若无提交文件，此处填 \"\"\n    hyper_param=\"RS\",     # 调参方式：'RS'(随机搜索，快) 或 'GS'(网格搜索，慢)\n    feature_reduction=True, # 是否自动特征降维\n    scoring_parameter=\"weighted-f1\", # 评分标准，不平衡数据建议用 \"balanced_accuracy\"\n    KMeans_Featurizer=False,\n    Boosting_Flag=False,  # False=随机森林，True=XGBoost，\"CatBoost\"=CatBoost，None=线性模型\n    Binning_Flag=False,\n    Add_Poly=False,\n    Stacking_Flag=False,\n    Imbalanced_Flag=False, # 若数据极度不平衡 (\u003C5%) 设为 True\n    verbose=1,            # 输出详细程度：0(静默), 1(标准), 2(详细)\n)\n```\n\n### 3. 获取结果\n\n运行结束后，当前目录下会自动生成名为 `mysubmission.csv` (或 `mySubmission.csv`) 的预测结果文件，可直接用于竞赛提交或展示。同时，`model` 对象可用于后续预测，`features` 列表包含了模型选用的关键特征。\n\n> **提示**：初次使用建议先设置 `Boosting_Flag=None` 获取线性基线模型，再逐步尝试 `False` (随机森林) 和 `True` (XGBoost) 以获取更佳性能。","某金融风控团队需要在短时间内基于包含用户文本备注和交易时间的混合数据，构建一个高准确率且可解释的信用违约预测模型。\n\n### 没有 Auto_ViML 时\n- 数据预处理耗时极长，工程师需手动编写代码清洗缺失值、解析复杂的日期时间字段，并单独调用 NLP 库处理文本变量。\n- 面对类别极度不平衡的违约样本，尝试多种采样策略和算法组合往往收效甚微，模型准确率难以突破瓶颈。\n- 初始模型保留了数百个特征，导致业务方无法理解决策逻辑，且存在大量高度共线性特征干扰模型稳定性。\n- 为了找到最优模型，团队需串行测试逻辑回归、随机森林、XGBoost 等多种算法，整个建模周期长达数周。\n\n### 使用 Auto_ViML 后\n- 一行代码即可自动完成全流程：Auto_ViML 智能识别并处理日期特征生成新变量，同时内置 Auto_NLP 自动提取文本关键信息。\n- 开启 `Imbalanced_Flag` 参数后，Auto_ViML 调用高性能 `imbalanced_ensemble` 库，使不平衡数据的平衡准确率直接提升 5%-10%。\n- 通过 SULOV 算法和递归 XGBoost，Auto_ViML 自动剔除高度相关冗余特征，最终模型仅保留最关键的 20% 变量，显著提升可解释性。\n- Auto_ViML 并行构建并对比多种模型变体，快速输出性能最佳的“少而精”模型，将原本数周的迭代工作压缩至几小时内完成。\n\nAuto_ViML 通过自动化特征工程与模型筛选，让数据科学家能用最少特征快速构建出高性能且易解释的机器学习模型。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAutoViML_Auto_ViML_c5f54f90.png","AutoViML","Home of AutoViz, AutoViML and featurewiz","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FAutoViML_0774cc61.png","Automated Machine Learning: Build Variant Interpretable Machine Learning models. Project Created by Ram Seshadri. ",null,"rsesha2001@yahoo.com","https:\u002F\u002Fgithub.com\u002FAutoViML",[81,85],{"name":82,"color":83,"percentage":84},"Python","#3572A5",68.1,{"name":86,"color":87,"percentage":88},"Jupyter Notebook","#DA5B0B",31.9,546,104,"2026-03-20T11:44:47","Apache-2.0","Linux, macOS, Windows","非必需。可选支持 GPU 加速（需设置 GPU_flag=True 并在 Colab 等环境中选择 GPU 运行时），未指定具体显卡型号、显存大小或 CUDA 版本。","未说明",{"notes":97,"python":98,"dependencies":99},"建议使用 Anaconda 创建独立环境安装。该工具旨在作为基线模型或竞赛快速解决方案，明确说明不适用于生产环境。对于特征少于 10 个的数据集，建议关闭特征缩减功能；对于超过 1 万行的数据集可启用 KMeans 特征化。若未安装特定依赖库（如 XGBoost, CatBoost 等），安装过程中会自动尝试安装。","3.12+",[100,101,102,103,104,105,106,107,108,109],"pandas>=2.0","scikit-learn","numpy","matplotlib","xgboost","imbalanced-learn","catboost","featuretools","shap","imbalanced_ensemble",[14,52],[112,113,114,115,116,101,104,117,118,119,120,121],"automl","auto-viml","machine-learning","python3","python","tpot","autosklearn","autokeras","automated-machine-learning","automl-algorithms","2026-03-27T02:49:30.150509","2026-04-08T14:25:05.052277",[125,130,135,140,144,148],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},24569,"在 Google Colab 上安装 Auto_ViML 时遇到 numpy 构建失败（Building wheel for numpy failed）错误怎么办？","这通常是由于 numpy 和 pandas 的新版本兼容性问题导致的。建议尝试降级 numpy 到较旧的稳定版本（例如 1.21）。您可以参考相关报错信息，确保环境中安装了兼容的 numpy 版本后再重新安装 Auto_ViML。","https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML\u002Fissues\u002F32",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},24570,"如何在 Google Colab 中正确配置环境以运行 Auto_ViML 避免 XGBoost 报错？","如果在 Colab 上运行遇到 XGBoost 相关错误，必须将运行时类型（Runtime Type）更改为\"GPU\"硬件加速器。Auto_ViML 检测到 GPU 时会进行相应配置，如果未开启 GPU 加速，某些版本的 XGBoost 可能会报错。此外，建议检查数据路径是否正确，例如使用：`datapath = 'https:\u002F\u002Fgithub.com\u002Fdatasciencedojo\u002Fdatasets\u002Fraw\u002Fmaster\u002F'`。","https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML\u002Fissues\u002F29",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},24571,"使用 Titanic 数据集运行 Auto_ViML 时出现\"ValueError: DataFrame.dtypes for data must be int, float or bool\"错误如何解决？","该错误通常是因为数据集中包含非数值类型的列（如 'Name' 字段）。虽然维护者指出该问题在后续版本中已修复且难以复现，但如果遇到此问题，建议：1. 确保升级到最新版本的 Auto_ViML；2. 如果是在 Windows + Jupyter 环境下遇到此问题，尝试切换到 Google Colab 运行；3. 检查输入数据，确保传递给模型的特征列不包含无法转换的字符串对象，或让 Auto_ViML 自动处理分类变量。","https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML\u002Fissues\u002F3",{"id":141,"question_zh":142,"answer_zh":143,"source_url":134},24572,"在本地 Mac 机器上运行 Auto_ViML 是否必须拥有 GPU？","不一定强制要求本地有 GPU，但 Auto_ViML 会检测 GPU 并期望在使用时配置正确。如果在本地 Mac 上运行遇到困难，维护者建议直接在 Google Colab 或 Kaggle Notebook 上运行，并确保在这些平台中开启了 GPU 加速器选项，这样可以避免本地环境配置（如 XGBoost CPU\u002FGPU 版本差异）带来的复杂性。",{"id":145,"question_zh":146,"answer_zh":147,"source_url":139},24573,"Windows 用户在 Jupyter 中运行 Auto_ViML 遇到特定错误是否有解决方案？","有用户反馈该错误似乎仅出现在\"Jupyter + Windows\"组合环境中。如果遇到此类难以排查的环境问题，维护者建议直接使用 Google Colab (colab.research.google.com) 运行代码，或者寻求熟悉 Python 及 Windows 命令行专家的幫助。目前该问题被视为环境特定问题，切换平台通常是最高效的解决方式。",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},24574,"安装 Auto_ViML 时对 numpy 和 pandas 的版本有什么具体要求？","安装失败往往与依赖包版本冲突有关。根据安装日志，Auto_ViML 可能需要特定版本的 numpy（如 \u003C=1.19.5 或 1.21 等旧版本）和 pandas（如 \u003C2.0, >=1.1.3）。如果在安装过程中遇到构建错误，请尝试手动先安装兼容版本的 numpy 和 pandas，然后再安装 Auto_ViML，或者使用 `pip install autoviml --upgrade --ignore-installed` 尝试忽略已安装冲突包的版本限制。","https:\u002F\u002Fgithub.com\u002FAutoViML\u002FAuto_ViML\u002Fissues\u002F39",[]]