Scikit-learn is a Python module integrating a wide range of state-of-the-art machine learning algorithms for medium-scale supervised and unsupervised problems. This package focuses on bringing machine learning to non-specialists using a general-purpose high-level language. Emphasis is put on ease of use, performance, documentation, and API consistency. It has minimal dependencies and is distributed under the simplified BSD license, encouraging its use in both academic and commercial settings. Source code, binaries, and documentation can be downloaded from http://scikit-learn.sourceforge.net.
translated by 谷歌翻译
scikit-learn is an increasingly popular machine learning library. Written in Python, it is designed to be simple and efficient, accessible to non-experts, and reusable in various contexts. In this paper, we present and discuss our design choices for the application programming interface (API) of the project. In particular, we describe the simple and elegant interface shared by all learning and processing units in the library and then discuss its advantages in terms of composition and reusability. The paper also comments on implementation details specific to the Python ecosystem and analyzes obstacles faced by users and developers of the library.
translated by 谷歌翻译
Array programming provides a powerful, compact, expressive syntax for accessing, manipulating, and operating on data in vectors, matrices, and higher-dimensional arrays [1]. NumPy is the primary array programming library for the Python language [2,3,4,5]. It plays an essential role in research analysis pipelines in fields as diverse as physics, chemistry, astronomy, geoscience, biology, psychology, material science, engineering, finance, and economics. For example, in astronomy, NumPy was an important part of the software stack used in the discovery of gravitational waves [6] and the first imaging of a black hole [7].Here we show how a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring, and analyzing scientific data. NumPy is the foundation upon which the entire scientific Python universe is constructed. It is so pervasive that several projects, targeting audiences with specialized needs, have developed their own NumPy-like interfaces and array objects. Because of its central position in the ecosystem, NumPy increasingly plays the role of an interoperability layer between these new array computation libraries.
translated by 谷歌翻译
我们介绍了一个名为Abess的新图书馆,该库实现了一个统一的框架,这些框架是解决多样化的机器学习问题,例如线性回归,分类和主要组件分析。特别是,在线性模型下,Abess认证在多项式时间内获得最佳解决方案。我们的有效实现使Abess能够快到或什至20倍的最佳选项选择问题的解决方案比现有竞争变量(模型)选择工具箱快20倍。此外,它支持常见变体,例如最佳组子集选择和$ \ ell_2 $正规化的最佳选项选择。库的核心在C ++中编程。为了易于使用,Python库设计用于便利地与Scikit-Learn集成,并且可以从Python库索引中安装。此外,还可以在综合的R存档网络上获得用户友好的R库。源代码可在以下网址获得:https://github.com/abess-team/abess。
translated by 谷歌翻译
There are many excellent toolkits which provide support for developing machine learning software in Python, R, Matlab, and similar environments. Dlib-ml is an open source library, targeted at both engineers and research scientists, which aims to provide a similarly rich environment for developing machine learning software in the C++ language. Towards this end, dlib-ml contains an extensible linear algebra toolkit with built in BLAS support. It also houses implementations of algorithms for performing inference in Bayesian networks and kernel-based methods for classification, regression, clustering, anomaly detection, and feature ranking. To enable easy use of these tools, the entire library has been developed with contract programming, which provides complete and precise documentation as well as powerful debugging tools.
translated by 谷歌翻译
机器学习研究取决于客观解释,可比和可重复的算法基准。我们倡导使用策划,全面套房的机器学习任务,以标准化基准的设置,执行和报告。我们通过帮助创建和利用这些基准套件的软件工具来实现这一目标。这些无缝集成到OpenML平台中,并通过Python,Java和R. OpenML基准套件(A)的接口访问,易于使用标准化的数据格式,API和客户端库; (b)附带的数据集具有广泛的元信息; (c)允许在未来的研究中共享和重复使用基准。然后,我们为分类提供了一个仔细的策划和实用的基准测试套件:OpenML策划分类基准测试套件2018(OpenML-CC18)。最后,我们讨论了使用案例和应用程序,这些案例和应用程序尤其展示了OpenML基准套件和OpenML-CC18的有用性。
translated by 谷歌翻译
The library scikit-fda is a Python package for Functional Data Analysis (FDA). It provides a comprehensive set of tools for representation, preprocessing, and exploratory analysis of functional data. The library is built upon and integrated in Python's scientific ecosystem. In particular, it conforms to the scikit-learn application programming interface so as to take advantage of the functionality for machine learning provided by this package: pipelines, model selection, and hyperparameter tuning, among others. The scikit-fda package has been released as free and open-source software under a 3-Clause BSD license and is open to contributions from the FDA community. The library's extensive documentation includes step-by-step tutorials and detailed examples of use.
translated by 谷歌翻译
大多数机器学习算法由一个或多个超参数配置,必须仔细选择并且通常会影响性能。为避免耗时和不可递销的手动试验和错误过程来查找性能良好的超参数配置,可以采用各种自动超参数优化(HPO)方法,例如,基于监督机器学习的重新采样误差估计。本文介绍了HPO后,本文审查了重要的HPO方法,如网格或随机搜索,进化算法,贝叶斯优化,超带和赛车。它给出了关于进行HPO的重要选择的实用建议,包括HPO算法本身,性能评估,如何将HPO与ML管道,运行时改进和并行化结合起来。这项工作伴随着附录,其中包含关于R和Python的特定软件包的信息,以及用于特定学习算法的信息和推荐的超参数搜索空间。我们还提供笔记本电脑,这些笔记本展示了这项工作的概念作为补充文件。
translated by 谷歌翻译
Doubleml是一个开源的Python库,实现Chernozhukov等人的双层机器学习框架。(2018)适用于各种因果模型。它包含有效统计推断对因果参数的有效推断的功能基于机器学习方法。面向对象的Doublem实施在型号规格方面提供了很高的灵活性,并使其轻松伸展。该包在麻省理工学院许可下分发,并依赖于科学Python生态系统的核心库:Scikit-Learn,Numpy,Pandas,Scipy,StatsModels和Joblib。源代码,文档和广泛的用户指南可以在https://github.com/doubleml/doubleml-for -py和https://docs.doubleml.org找到。
translated by 谷歌翻译
我们认为,利用公共,跨平台,语言 - 不可止结的包管理器和jupyter紧密地耦合广泛使用的机器人操作系统,这是有益的,这是一种提供科学计算的基于网络的互动计算环境。我们为公务员提供新的ROS套餐,可以轻松地安装ROS沿着数据科学和机器学习套件。多个ROS版本(目前ROS1 Melodic和Neatic以及ROS2 Foxy和Galactic)可以同时在一台机器上运行,具有适用于Linux,Windows和OSX的预编译二进制文件,以及ARM架构(例如Raspberry PI和新的苹果硅)。要处理ROS生态系统的大尺寸,我们通过重写C ++的关键零件来显着提高公共求解器和构建系统的速度。我们进一步为ROS提供了一系列jupyterlab扩展,包括用于实时绘图,调试和机器人控制的插件,以及与ZETHU的紧密集成,RVIZ如可视化工具。罗布斯特克在一起结合了最好的数据科学和机器人世界,帮助研究人员和开发人员为学术和工业项目建立定制解决方案。
translated by 谷歌翻译
Bridging cultures that have often been distant, Julia combines expertise from the diverse fields of computer science and computational science to create a new approach to numerical computing. Julia is designed to be easy and fast. Julia questions notions generally held as "laws of nature" by practitioners of numerical computing:1. High-level dynamic programs have to be slow, 2. One must prototype in one language and then rewrite in another language for speed or deployment, and 3. There are parts of a system for the programmer, and other parts best left untouched as they are built by the experts.We introduce the Julia programming language and its design -a dance between specialization and abstraction. Specialization allows for custom treatment. Multiple dispatch, a technique from computer science, picks the right algorithm for the right circumstance. Abstraction, what good computation is really about, recognizes what remains the same after differences are stripped away. Abstractions in mathematics are captured as code through another technique from computer science, generic programming.Julia shows that one can have machine performance without sacrificing human convenience.
translated by 谷歌翻译
Deep learning frameworks have often focused on either usability or speed, but not both. PyTorch is a machine learning library that shows that these two goals are in fact compatible: it provides an imperative and Pythonic programming style that supports code as a model, makes debugging easy and is consistent with other popular scientific computing libraries, while remaining efficient and supporting hardware accelerators such as GPUs. In this paper, we detail the principles that drove the implementation of PyTorch and how they are reflected in its architecture. We emphasize that every aspect of PyTorch is a regular Python program under the full control of its user. We also explain how the careful and pragmatic implementation of the key components of its runtime enables them to work together to achieve compelling performance. We demonstrate the efficiency of individual subsystems, as well as the overall speed of PyTorch on several common benchmarks.
translated by 谷歌翻译
弗洛罗斯(Frolos)是一个python库,能够检测机器学习问题的漂移。它提供了用于漂移检测的经典和较新的算法的组合:受到监督和无监督,以及一些能够以半监督的方式行动的能力。我们设计了它的目的是与Scikit-Learn库轻松集成,并实现相同的应用程序编程界面。图书馆是根据一组最佳开发和持续整合实践开发的,以确保易于维护和可扩展性。源代码可在https://github.com/ifca/frouros上获得。
translated by 谷歌翻译
R包Doubleml实现了Chernozhukov等人的双重/辩护机器学习框架。 (2018)。它提供了基于机器学习方法的因果模型中估计参数的功能。双机器学习框架由三个关键成分组成:Neyman正交性,高质量的机器学习估计和样品拆分。可以通过MLR3生态系统中可用的各种最新机器学习方法来执行滋扰组件的估计。 Doubleml使得可以在各种因果模型中进行推断,包括部分线性和交互式回归模型及其扩展到仪器变量估计。 Doubleml的面向对象的实现为模型规范具有很高的灵活性,并使其易于扩展。本文是对双机器学习框架和R软件包DOUBLEML的介绍。在具有模拟和真实数据集的可再现代码示例中,我们演示了Doubleml用户如何基于机器学习方法执行有效的推断。
translated by 谷歌翻译
Artificial Intelligence (AI) is having a tremendous impact across most areas of science. Applications of AI in healthcare have the potential to improve our ability to detect, diagnose, prognose, and intervene on human disease. For AI models to be used clinically, they need to be made safe, reproducible and robust, and the underlying software framework must be aware of the particularities (e.g. geometry, physiology, physics) of medical data being processed. This work introduces MONAI, a freely available, community-supported, and consortium-led PyTorch-based framework for deep learning in healthcare. MONAI extends PyTorch to support medical data, with a particular focus on imaging, and provide purpose-specific AI model architectures, transformations and utilities that streamline the development and deployment of medical AI models. MONAI follows best practices for software-development, providing an easy-to-use, robust, well-documented, and well-tested software framework. MONAI preserves the simple, additive, and compositional approach of its underlying PyTorch libraries. MONAI is being used by and receiving contributions from research, clinical and industrial teams from around the world, who are pursuing applications spanning nearly every aspect of healthcare.
translated by 谷歌翻译
随着机器学习系统的计算要求以及机器学习框架的规模和复杂性的增加,基本框架创新变得具有挑战性。尽管计算需求驱动了最近的编译器,网络和硬件的进步,但通过机器学习工具对这些进步的利用却以较慢的速度发生。这部分是由于与现有框架原型制作新的计算范式有关的困难。大型框架将机器学习研究人员和从业人员作为最终用户的优先级优先,并且很少关注能够向前推动框架的系统研究人员 - 我们认为两者都是同等重要的利益相关者。我们介绍了手电筒,这是一个开源库,旨在通过优先考虑开放式,模块化,可定制的内部设备以及最新的,可用于研究的模型和培训设置,以刺激机器学习工具和系统的创新。手电筒使系统研究人员能够快速原型并尝试机器学习计算中的新思想,并且开销低,与其他流行的机器学习框架竞争并经常超过其他流行的机器学习框架。我们将手电筒视为一种工具,可以使可以使广泛使用的图书馆受益,并使机器学习和系统研究人员更加紧密地结合在一起。手电筒可从https://github.com/flashlight/flashlight获得。
translated by 谷歌翻译
我们提出了TOD,这是一个在分布式多GPU机器上进行有效且可扩展的离群检测(OD)的系统。 TOD背后的一个关键思想是将OD应用程序分解为基本张量代数操作。这种分解使TOD能够通过利用硬件和软件中深度学习基础架构的最新进展来加速OD计算。此外,要在有限内存的现代GPU上部署昂贵的OD算法,我们引入了两种关键技术。首先,可证明的量化可以加快OD计算的速度,并通过以较低的精度执行特定的浮点操作来减少其内存足迹,同时证明没有准确的损失。其次,为了利用多个GPU的汇总计算资源和内存能力,我们引入了自动批处理,该批次将OD计算分解为小批次,以便在多个GPU上并行执行。 TOD支持一套全面且多样化的OD算法,例如LOF,PCA和HBOS以及实用程序功能。对真实和合成OD数据集的广泛评估表明,TOD平均比领先的基于CPU的OD系统PYOD快11.6倍(最大加速度为38.9倍),并且比各种GPU底线要处理的数据集更大。值得注意的是,TOD可以直接整合其他OD算法,并提供了将经典OD算法与深度学习方法相结合的统一框架。这些组合产生了无限数量的OD方法,其中许多方法是新颖的,可以很容易地在TOD中进行原型。
translated by 谷歌翻译
This paper presents the OPUS ecosystem with a focus on the development of open machine translation models and tools, and their integration into end-user applications, development platforms and professional workflows. We discuss our on-going mission of increasing language coverage and translation quality, and also describe on-going work on the development of modular translation models and speed-optimized compact solutions for real-time translation on regular desktops and small devices.
translated by 谷歌翻译
在本文中,我们介绍了Tianshou,这是一个高度模块化的Python库,用于深钢筋学习(DRL),它使用Pytorch作为后端。天舒(Tianshou)打算通过提供DRL算法的灵活和可靠的基础架构来对研究进行研究。它通过统一界面通过20多种经典算法来支持在线和离线培训。为了促进相关的研究并证明天舒的可靠性,我们发布了田肖(Tianshou)的Mujoco环境基准,涵盖了八种具有最先进性能的经典算法。我们通过https://github.com/thu-ml/tianshou/开放源。
translated by 谷歌翻译
比较不同的汽车框架是具有挑战性的,并且经常做错了。我们引入了一个开放且可扩展的基准测试,该基准遵循最佳实践,并在比较自动框架时避免常见错误。我们对71个分类和33项回归任务进行了9个著名的自动框架进行了详尽的比较。通过多面分析,评估模型的准确性,与推理时间的权衡以及框架失败,探索了自动框架之间的差异。我们还使用Bradley-terry树来发现相对自动框架排名不同的任务子集。基准配备了一个开源工具,该工具与许多自动框架集成并自动化经验评估过程端到端:从框架安装和资源分配到深入评估。基准测试使用公共数据集,可以轻松地使用其他Automl框架和任务扩展,并且具有最新结果的网站。
translated by 谷歌翻译