顶级100+必备数据科学工具与资源库:立即优化您的工作流!
【数据科学与机器学习工具大全】DataProNewsletter团队精心整理了一份包含100+流行工具和GitHub资源的参考模块,涵盖数据科学全领域。该资源覆盖:1)基础架构(Kestra工作流编排、Dolt版本控制数据库);2)实时处理(GoAccess日志分析、Hazelcast流处理);3)质量管控(CleanLab自动数据清洗);4)AI开发(PyTorch Lightning深度学习框
引言
在浩瀚的大数据海洋中航行,我们数据专业人士常常需要苦苦寻找合适的工具来挖掘其潜力。无论是定义复杂问题、识别新兴趋势还是构建创新解决方案,其中的挑战都不容小觑。太多时候,我们只能在网络上漫无目的地徘徊,寻找难以捉摸的答案。
在 DataPro Newsletter 团队,我们对此深有体会。我们非常高兴能为尊贵的读者献上一份特别的礼物——一个包含丰富资源的详尽参考模块。这个精心策划的合集收录了100多个最流行的工具和GitHub资源库。每一个工具不仅被广泛使用和信赖,并且持续更新,包含最新突破,以增强您的数据处理能力。
将此模块视为您的宝库,它旨在简化您的工作流程并激发创新解决方案。请将本页添加为书签,以便在遇到数据科学与机器学习任何领域(从DataOps到推荐系统,再到量化金融——我们全覆盖!)的挑战时快速访问。
那么,请深入探索这个一站式参考模块,发掘其深度,让数据同仁的精神推动您前进。谨此祝愿您能从您的DataPro团队获得更多赋能工具和变革性见解——干杯!
DataOps/MLOps
-
kestra-io/kestra: Kestra 是一个用于调度和事件驱动工作流的开源编排器,利用基础设施即代码(IaC)进行可靠管理。
-
open-metadata/OpenMetadata: OpenMetadata 是一个用于数据发现、可观测性和治理的统一平台,具有中央存储库、字段级血缘和团队协作功能。
-
dolthub/dolt: Dolt 是一个具有类似 Git 版本控制功能的 SQL 数据库,可通过 MySQL 或命令行接口访问。
-
iterative/dvc: DVC 是一个用于可重现机器学习的工具,支持数据和模型版本控制、轻量级管道、实验跟踪和轻松共享。
-
quiltdata/quilt: Quilt 允许使用 Python 和 S3 存储桶创建版本化数据集。它支持数据驱动团队,有助于快速实验和协作。
实时数据处理
-
allinurl/goaccess: GoAccess 是一个用于 *nix 系统和浏览器的实时 Web 日志分析器,提供快速的 HTTP 统计信息。详情请见:goaccess.io。
-
feathersjs/feathers: Feathers 是一个用于构建 API 和实时应用的 TypeScript/JavaScript 框架,兼容各种后端和前端。
-
apache/age: Apache AGE 扩展了 PostgreSQL,为其添加图数据库功能,无缝支持关系型 SQL 和 openCypher 图查询。
-
zephyrproject-rtos/zephyr: 适用于从物联网传感器到智能手表等多种硬件的实时操作系统(RTOS),强调可扩展性、安全性和资源效率。
-
hazelcast/hazelcast: Hazelcast 集成了流处理和快速数据存储功能,以获取实时洞察,使您能够在统一平台上对动态数据立即采取行动。
数据质量管理
-
WeBankFinTech/Qualitis: Qualitis 通过验证、通知和管理功能来管理各种数据源的数据质量,解决与数据处理相关的质量问题。
-
raystack/optimus: Optimus 是一个用于数据转换、建模、管道和质量管理的强大工作流编排器,强调易用性和可靠性。
-
Toloka/crowd-kit: Crowd-Kit 是一个用于众包标注的 Python 库,提供聚合方法、指标和数据集,以简化处理众包数据的工作。
-
ydataai/ydata-profiling: ydata-profiling 提供了一个简化、快速的探索性数据分析(EDA)解决方案,类似于 pandas 的
df.describe()
,提供可导出为 HTML 和 JSON 等格式的详细 DataFrame 分析。 -
cleanlab/cleanlab: cleanlab 通过检测机器学习数据集中的问题来自动化数据和标签清洗,从而使用真实世界的数据增强模型训练。
预测分析
-
spring-cloud/spring-cloud-dataflow: Spring Cloud Data Flow 支持在 Cloud Foundry 和 Kubernetes 上构建微服务驱动的数据处理管道,支持流处理和批处理等多种用例。
-
ScottfreeLLC/AlphaPy: AlphaPy 是一个 Python 机器学习框架,面向投机者和数据科学家,集成了 scikit-learn、pandas 以及用于特征工程和可视化的附加工具。
-
retentioneering/retentioneering-tools: Retentioneering 简化了点击流和用户路径的分析,提供比漏斗分析更深入的洞察,使数据和营销分析师受益。
-
genular/pandora: PANDORA 为生物医学研究提供高级分析,采用聚类、PCA、UMAP 和可解释模型等机器学习工具进行发现。
-
nabeel-oz/qlik-py-tools: Qlik 的服务器端扩展(SSE)将现代数据科学集成到 Qlik Sense 中,使业务用户能够通过基于 Python 的函数利用高级分析。
深度学习
-
Lightning-AI/pytorch-lightning: Lightning 2.0 通过稳定的 API 简化 PyTorch 工作流,实现 AI 模型的高效可扩展训练和部署。
-
ultralytics/yolov5: Ultralytics 的 YOLOv5 是一个领先的视觉 AI 模型,基于广泛的开源研究和开发,具有先进的性能。
-
hpcaitech/ColossalAI: Colossal-AI 通过用户友好的工具简化分布式深度学习,使并行训练和推理像本地模型开发一样容易。
-
naptha/tesseract.js: Tesseract.js 通过基于 WebAssembly 的 Tesseract 引擎简化 OCR(光学字符识别),支持浏览器和 Node.js 环境,并易于集成和设置。
-
microsoft/DeepSpeed: DeepSpeed 能够高效训练像 ChatGPT 这样的大模型,并在所有规模上实现显著的速度提升和成本降低。
强化学习
-
ray-project/ray: Ray 是一个统一的框架,通过分布式运行时和专门的 AI 库来扩展 AI 和 Python 应用程序。
-
d2l-ai/d2l-en: 一本使用 Jupyter 笔记本的开源书籍,旨在使深度学习易于理解,融合了概念、背景和交互式代码示例。
-
Unity-Technologies/ml-agents: Unity ML-Agents 允许将游戏和模拟用于训练智能体,使用深度强化学习和模仿学习,促进 AI 创新。
-
google/trax: Trax 是一个得到 Google Brain 认可的深度学习库,以清晰的代码和速度著称,并在 Colab 笔记本中进行了演示。
-
wandb/wandb: 该资源库包含一个 CLI 和 Python API,用于有效可视化和跟踪机器学习实验。
-
VowpalWabbit/vowpal_wabbit: Vowpal Wabbit 通过在线学习、哈希、全归约(allreduce)和主动学习等技术推动机器学习的发展,不断拓展 ML 能力的前沿。
时间序列分析
-
taosdata/TDengine: TDengine 是一个高性能、开源的时间序列数据库,专为物联网、联网汽车、工业物联网和 DevOps 环境设计。
-
timescale/timescaledb: 一个用于时间序列数据的开源 SQL 数据库,针对快速数据摄取和复杂查询进行了优化,可作为 PostgreSQL 扩展使用。
-
influxdata/telegraf: Telegraf 是一个用于收集和处理指标、日志数据的代理,具有 300 多个插件和社区驱动的开发,灵活性高。
-
questdb/questdb: Questdb 是一个开源时间序列数据库,以高吞吐量数据摄取、快速 SQL 查询和操作简单著称,适用于各种高基数数据集。
-
ccfos/nightingale: Nightingale 是一个一体化、开源、云原生的监控系统,无缝结合了数据收集、可视化和告警功能。
数据工程
-
PrefectHQ/prefect: Prefect 简化了 Python 数据管道编排,将脚本转换为动态工作流,这些工作流能够响应变化并确保弹性。
-
airbytehq/airbyte: Airbyte 是一个开源数据集成平台,提供 300 多个连接器,用于在多种数据源和目标之间构建无缝的 ELT 管道。
-
argoproj/argo-workflows: Argo Workflows 通过容器原生工作流在 Kubernetes 上编排并行作业,支持 DAG(有向无环图),并加速计算密集型任务,如 ML 和数据处理。
-
dagster-io/dagster: Dagster 是一个云原生数据管道编排器,具有集成的血缘关系、可观测性、声明式编程和全生命周期的强大可测试性。
-
Avaiga/taipy: Taipy 使用 Python 简化数据科学家和 ML 工程师的 Web 应用程序开发,专注于 AI 算法,无需额外语言。
商业智能 (BI)
-
ankane/blazer: 基于 SQL 的工具,用于数据探索、图表创建、仪表板共享。支持各种数据源、变量、检查、审计和安全集成。
-
evidence-dev/evidence: 开源 BI 工具,使用 Markdown 和 SQL 查询进行数据获取、渲染图表和生成模板化的动态网页。
-
lightdash/lightdash: 使用 dbt 赋能团队获得自助数据洞察:定义指标、可视化数据并在组织内无缝共享仪表板。
-
TuiQiao/CBoard: 用户友好的开源 BI 平台,用于自助式报告和仪表板,简化数据洞察并在团队间轻松共享。
-
quarylabs/quary: 面向工程师的 BI 平台,用于连接数据库、编写 SQL 进行表转换、创建图表、仪表板和报告,并具有协作和部署功能。
数据可视化
-
netdata/netdata: 为服务器、云、Kubernetes 和边缘/物联网设备提供实时指标收集和可视化,可轻松跨不同环境扩展。
-
directus/directus: 用于管理 SQL 数据库内容的开源 API 和仪表板,具有 REST 和 GraphQL 接口,支持各种数据库,并可自定义以进行本地或云部署。
-
airbnb/visx: 可重用的低级可视化组件,结合了 d3 的强大功能和 React 的 DOM 更新能力,用于动态数据可视化。
-
uber/react-vis: React 组件库,用于多种数据可视化:线图、柱状图、散点图、热力图、饼图、旭日图、雷达图等。
-
bokeh/bokeh: 用于 Web 浏览器的交互式可视化库,提供多功能的图形创建和针对大型数据集和仪表板的高性能交互性。
-
apache/echarts: 免费的 JavaScript 库,用于创建直观、交互式和可自定义的图表,非常适合用于增强商业产品的可视化功能。
推荐系统
-
NicolasHug/Surprise: 用于基于显式评分数据构建推荐系统的 Python scikit,强调实验控制、数据集处理和各种预测算法。
-
gorse-io/gorse: 用 Go 编写的开源推荐系统,旨在普遍集成到在线服务中,根据用户交互数据自动训练模型。
-
recommenders-team/recommenders: Recommenders 是 Linux 基金会的一个项目,提供 Jupyter 笔记本来构建经典和尖端的推荐系统,涵盖数据准备、建模、评估、优化和在 Azure 上的生产部署。
-
alibaba/Alink: Alink 由阿里巴巴 PAI 团队开发,集成了 Flink 的 ML 算法。PyAlink 支持各种 Flink 版本,保持兼容性直至 Flink 1.13。
-
RUCAIBox/RecBole: RecBole 基于 Python 和 PyTorch 构建,通过涵盖通用、序列、上下文感知和基于知识等类别的 91 种推荐算法促进研究。
量化金融
-
AI4Finance-Foundation/FinGPT: FinGPT 是一个成本效益高、适应性强的金融大语言模型,可快速更新和微调,与 BloombergGPT 相比增强了可访问性。
-
google/tf-quant-finance: 该库利用 TensorFlow 的硬件加速和自动微分功能,支持高性能数学方法、中级函数和定价模型。
-
goldmansachs/gs-quant: GS Quant 是高盛(Goldman Sachs)推出的 Python 工具包,凭借丰富的市场经验,帮助开发量化交易策略和风险管理解决方案。
-
domokane/FinancePy: 一个 Python 金融库,专门从事固定收益、股票、外汇和信贷市场中金融衍生品的定价和管理。
-
romanmichaelpaolucci/Q-Fin: QFin 正在不断发展,增强了面向对象原则,弃用了 PDEs/SDEs 等旧模块,引入了用于模型校准和期权定价的 'stochastics' 模块。
-
avhz/RustQuant: 这是一个用于量化金融的 Rust 库,涵盖从自动微分和数据处理到工具定价和随机过程的各种模块。
负责任的人工智能 (Responsible AI)
-
microsoft/responsible-ai-toolbox: Responsible AI Toolbox 提供用于模型和数据探索的界面和库,使开发人员能够负责任地监控和改进 AI。
-
Giskard-AI/giskard: Giskard 是一个开源 Python 库,可检测 AI 应用程序中的性能、偏见和安全问题,涵盖从大语言模型 (LLMs) 到传统 ML 模型。
-
fairlearn/fairlearn: Fairlearn 是一个 Python 软件包,通过提供的算法和评估指标,帮助开发人员评估和缓解 AI 系统中的公平性问题。
-
Azure/PyRIT: PyRIT 是一个开源的 Python 工具,用于生成式 AI,帮助安全专业人士和 ML 工程师识别系统风险。
-
ModelOriented/DALEX: DALEX 通过其可解释性工具增强模型透明度以防止失败,支持理解和信任复杂的 AI 系统。
-
JohnSnowLabs/langtest: LangTest 简化了 AI 模型的测试,一行代码即可运行 60 多种测试,涵盖鲁棒性、偏见、公平性和准确性,支持各种 NLP 框架。
可解释人工智能 (XAI)
-
SeldonIO/alibi: Alibi 是一个 Python 库,专注于机器学习模型检查,为分类和回归模型提供多种解释方法。
-
Trusted-AI/AIX360: AI Explainability 360 提供了一个开源 Python 工具包,用于跨各种数据类型的详细模型可解释性,支持多种解释方法。
-
dssg/aequitas: Aequitas 是一个用于偏见审计和公平机器学习 (Fair ML) 的开源工具包,帮助数据科学家和研究人员评估和纠正模型偏见。
-
albermax/innvestigate: iNNvestigate 是一个 Python 库,提供了一个统一接口,用于各种分析神经网络预测和理解其内部工作的方法。
-
mindsdb/lightwood: Lightwood 是一个 AutoML 框架,使用 JSON-AI 语法简化机器学习管道,允许跨不同数据类型进行定制和自动化。
异常检测
-
SeldonIO/alibi-detect: Alibi Detect 是一个 Python 库,用于检测表格、文本、图像和时间序列数据中的异常值、对抗性攻击和漂移。
-
datamllab/tods: TODS 使用用于数据处理、特征分析和各种检测算法的模块,自动化多变量时间序列数据中的异常检测。
-
pygod-team/pygod: PyGOD 是一个使用 PyTorch Geometric 进行图异常检测的 Python 库,提供 10 多种算法,并可轻松与 PyOD 集成。
-
Jingkang50/OpenOOD: 该资源库复现了广义分布外检测 (Generalized Out-of-Distribution Detection) 框架中的方法,用于在异常、新颖性和分布外检测方法之间进行公平比较。
-
yzhao062/pyod: PyOD 是一个用于检测多变量数据中异常的 Python 库,为各种项目规模和数据集提供多种算法。
-
chaos-genius/chaos_genius: Chaos Genius 是一个开源的、由 ML 驱动的分析引擎,用于大规模异常检测和根本原因分析。
供应链分析
-
guacsec/guac: GUAC 为软件安全创建一个高保真度的图数据库,促进实现审计、策略和风险管理等组织目标。
-
owasp-dep-scan/blint: BLint 是一个二进制代码检查工具 (Binary Linter),使用 lief 来验证可执行文件的安全性和功能,现支持为兼容的二进制文件生成 SBOM(软件物料清单)。
-
samirsaci/picking-route: 该资源库专注于通过基于 Python 的工具和方法提高仓库生产率,特别是处理订单批处理和优化拣货路径(使用单拣货员路径问题,SPRP)。
-
ragamarkely/scanalytics: Scanalytics 使用 Python 自动化供应链分析与设计任务,简化分析并减少手动电子表格工作。
-
aitechtools/SunFlow: SunFlow 优化供应链设计,全面建模材料、组件、供应商、制造商和客户,整合成本、产能和约束条件。
-
CIOL-SUST/SupplyGraph: 该资源库引入了一个基准数据集,用于将图神经网络 (GNNs) 应用于供应链网络,从而支持优化和预测方面的研究。
网络优化
-
ray-project/ray: Ray 是一个具有分布式运行时和 AI 库的可扩展框架,旨在加速 AI 和 Python 应用程序。(注:此条目与上文强化学习部分重复)
-
svg/svgo: SVGO 通过移除冗余元数据、注释和隐藏元素来优化 SVG 文件,以提高文件效率和渲染性能。
-
zeux/meshoptimizer: meshoptimizer 是一个 C/C++ 库,通过减少网格复杂性和存储开销来优化 GPU 渲染,可通过 meshopt crate 与 Rust 兼容。
-
cvxpy/cvxpy: CVXPY 是一种基于 Python 的建模语言,专为凸优化问题设计,提供符合数学惯例的自然表达格式。
-
guofei9987/scikit-opt: 该资源库提供了各种群体智能算法(如遗传算法、粒子群优化等)的 Python 实现,用于优化任务。
语音处理
-
espnet/espnet: ESPnet 是一个使用 PyTorch 的详细语音处理工具包,涵盖识别、合成、翻译、增强、分离和理解任务。
-
mozilla/DeepSpeech: DeepSpeech 是一个开源语音转文本(STT)引擎,基于百度的研究,使用 TensorFlow 实现,注重可访问性和性能。
-
microsoft/SpeechT5: 该资源库提出了 SpeechT5,采用 T5 的文本到文本方法进行自监督的语音和文本表示学习,使用共享编码器和特定模态网络。
-
sloria/TextBlob: Python 库,简化 NLP 任务,如词性标注、情感分析和分类,为文本数据提供简单的 API。
-
pytorch/audio: Torchaudio 将 PyTorch 与音频处理集成,强调 GPU 加速、通过 autograd 的可训练特征,并保持一致的基于张量的风格。
图数据科学
-
neo4j/graph-data-science: Neo4j 图数据科学 (GDS) 库提供图算法、转换和 ML 管道,可通过 Neo4j 中的 Cypher 语言访问。
-
cncf/landscape-graph: 该资源库使用图数据模型探索开源项目的动态、演变和协作,以进行深入的社区分析。
-
BlueBrain/nexus: Blue Brain Nexus 通过知识图生态系统组织和增强数据,具有各种产品、库和工具以满足全面需求。
-
lynxkite/lynxkite: LynxKite 是一个强大的图数据科学平台,具有用户友好的界面和强大的 Python API,适用于大型数据集。
-
dgraph-io/dgraph: Dgraph 是一个为性能优化的可扩展 GraphQL 原生数据库,提供 ACID 事务和分布式架构,用于实时查询。
-
arangodb/arangodb: ArangoDB 是一个多模型数据库,支持文档、图和键值存储,通过类似 SQL 的查询和 JavaScript 扩展赋能高性能应用程序。
ETL/ELT (提取、转换、加载 / 提取、加载、转换)
-
redpanda-data/connect: Redpanda Connect 是一个强大的流处理器,用于无缝数据集成,具有强大的映射语言和轻松的部署选项。
-
turbot/steampipe: Steampipe 简化了从 API 访问数据的过程,提供 CLI、Postgres 外部数据包装器 (FDW)、SQLite 扩展、导出工具和基于云的 Turbot Pipes。
-
risingwavelabs/risingwave: RisingWave 是一个与 Postgres 兼容的成本效益高的流式数据库,专为实时事件流数据处理和分析而设计。
-
apache/dolphinscheduler: Apache DolphinScheduler 是一个现代数据编排平台,具有低代码工作流创建、强大的任务管理和云原生功能。
-
rudderlabs/rudder-server: RudderStack 是一个注重隐私的、Segment 替代方案平台,使用 Golang 和 React 编写。它简化了数据收集,并与数据仓库和工具集成,以构建丰富的客户数据管道。
我们希望这个广泛的工具和技术集合能成为您日常数据实践的宝贵资产。愿它帮助您实现更顺畅的工作流程和更好的成果!
更多推荐
所有评论(0)