0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

7个强大实用的Python机器学习库!

新机器视觉 来源:今日头条 2022-12-22 11:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我们总说“不要重复发明轮子”,python 中的第 3 方工具库就是最好的例子。借助它们,我们可以用简单的方式编写复杂且耗时的代码。在本篇内容中给大家整理了 7 个有用的 Python 库,如果大家从事机器学习工作,一定要来一起了解一下。1.Prophet

Prophet是 Facebook 开源的时间序列预测工具库,基于 Stan 框架,可以自动检测时间序列中的趋势、周期性和节假日效应,并根据这些信息进行预测。这个库在 GitHub 上有超过 15k 星。

47a532da-8136-11ed-8abf-dac502259ad0.pngProphet 通常用于预测未来几个月、几年或几十年的时间序列数据,例如销售额、市场份额等。它提供了 Python 和 R 两个版本,可以跨平台使用,支持 CPUGPU 的并行运算。Prophet 的输入数据格式要求是一个包含时间戳和目标值的数据框,并支持给定时间范围、预测期限和宽限期等参数进行预测。Prophet 对缺失数据和趋势变化很稳健,通常可以很好地处理异常值。

# Pythonforecast = m.predict(future)forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()

47c444b8-8136-11ed-8abf-dac502259ad0.png

2.Deep Lake

Deep Lake是一种数据集格式,提供简单的 API 以用于创建、存储和协作处理任何规模的 AI 数据集。这个库在 GitHub 上有超过 5k 星。480bd30a-8136-11ed-8abf-dac502259ad0.pngDeep Lake 的数据布局可以在大规模训练模型的同时,实现数据的快速转换和流式传输。谷歌、Waymo、红十字会、牛津大学等都在使用 Deep Lake。
for epoch in range(2):    running_loss = 0.0    for i, data in enumerate(deeplake_loader):    images, labels = data['images'], data['labels']     # zero the parameter gradients    optimizer.zero_grad()     # forward + backward + optimize    outputs = net(images)    loss = criterion(outputs, labels.reshape(-1))    loss.backward()    optimizer.step()     # print statistics    running_loss += loss.item()    if i % 100 == 99: #print every 100 mini-batches        print('[%d, %5d] loss: %.3f' %        (epoch + 1, i + 1, running_loss / 100))        running_loss = 0.0

3.Optuna

Optuna 是一个自动机器学习超参数调优工具,可以帮助用户通过使用各种规则自动调整机器学习模型的超参数,以提高模型的性能。这个库在 GitHub 上拥有超过 7k 颗星。

4834c7b0-8136-11ed-8abf-dac502259ad0.png

Optuna 使用了贝叶斯优化算法来自动调整超参数,并使用基于树的方法来探索参数空间。这使得 Optuna 能够在训练机器学习模型时自动进行超参数调整,从而提高模型的性能。Optuna 可以与各种机器学习框架集成使用,包括 TensorFlow、PyTorch、XGBoost 等。它还支持多种优化目标,包括最小化损失函数、最大化准确率等。总的来说,Optuna是一个强大的工具,可以帮助用户提高机器学习模型的性能,提高模型的准确率。它的易用性和可扩展性使它成为机器学习工作流中的一个重要工具。
import ... # Define an objective function to be minimized.def objective(trial):     # Invoke suggest methods of a Trial object to generate hyperparameters     regressor_name = trial.suggest_categorical('regressor',['SVR', 'RandomForest'])    if regressor_name = 'SVR':        svr_c = trial.suggest_float('svr_c', 1e-10, 1e10, log=True)        regressor_obj = sklearn.svm.SVR(C=svr_c)    else:        rf_max_depth = trial.suggest_int('rf_max_depth', 2, 332)        regressor_obj = sklearn.ensemble.RandomForestRegressor(max_depth=rf_max_depth)     X, y = sklearn.datasets.fetch_california_housing(return_X_y=True)    X_train, X_val, y_train, y_val = sklearn.model_selection.train_test_split(X, y, random_state=0)     regressor_obj.fit(X_train, y_train) y_pred = regressor_obj.predict(X_val)     error = sklearn.metrics.mean_squared_error(y_val, y_pred)     return error # An objective value linked with the Trial object. study = optuna.create_study() # Create a neW studystudy.optimize(objective, n_trials=100) # Invoke opotimization of the objective function

4.pycm

pycm是一个用于计算二分类和多分类指标的 Python 库。这个库在 GitHub 上有超过 1k 星。

48794bb0-8136-11ed-8abf-dac502259ad0.png

它可以计算多种常用的指标,包括准确率、召回率、F1值、混淆矩阵等。此外,pycm 还提供了一些额外的功能,例如可视化混淆矩阵、评估模型性能的指标来源差异等。pycm是一个非常实用的库,可以帮助快速评估模型的性能。

from pycm import *y_actu = [2, 0, 2, 2, 0, 1, 1, 2, 2, 0, 1, 2] y_pred = [0, 0, 2, 1, 0, 2, 1, 0, 2, 2, 2, 2] cm = ConfusionMatrix(actual_vector=y_actu, predict_vector=y_pred) cm.classes cm.print_matrix()  cm.print_normalized_matrix()

5.NannyML

NannyML是一个开源的 Python 库,允许估算部署后的模型性能(而无需访问目标),检测数据漂移,并智能地将数据漂移警报链接回模型性能的变化。这个库在 GitHub 上有超过 1k 星。

488c48f0-8136-11ed-8abf-dac502259ad0.png

为数据科学家设计的 NannyML 具有易于使用的交互式可视化界面,目前支持所有表格式的用例(tabular use cases)、分类(classification)和回归(regression)。NannyML 的核心贡献者研发了多种用于估算模型性能的新算法:基于信心的性能估算(CBPE)与直接损失估算(DLE)等。NannyML 通过构建“性能监控+部署后数据科学”的闭环,使数据科学家能够快速理解并自动检测静默模型故障。通过使用 NannyML,数据科学家最终可以保持对他们部署的机器学习模型的完全可见性和信任。

import nannyml as nmlfrom IPython.display import display # Load synthetic data reference, analysis, analysis_target = nml.load_synthnetic_binary_classification_dataset()display(reference.head())display(analysis.head()) # Choose a chunker or set a chunk sizechunk size = 5000 # initialize, specify required data columns,, fit estimator and estimateestimator = nml.CBPE(    y_pred_proba='y_pred_proba',    y_pred='y_pred',    y_true='work_home_actual',    metrics=['roc_auc'],    chunk_size=chunk_size,    problem_type='classification_binary',)estimator = estimator.fit(reference)estimated_performance = estimator.estimate(analysis) # Show resultsfigure = estimated_performance.plot(kind='performance', metric='roc_auc', plot_reference=True)figure.show()

6.ColossalAI

ColossalAI是一个开源机器学习工具库,用于构建和部署高质量的深度学习模型。这个库在 GitHub 上有超过 6.5k 星。

48ae8492-8136-11ed-8abf-dac502259ad0.png

ColossalAI 提供了一系列预定义的模型和模型基础架构,可用于快速构建和训练模型。它还提供了一系列工具,用于模型评估,调优和可视化,以确保模型的高质量和准确性。此外,ColossalAI 还支持部署模型,使其能够通过各种不同的接口与其他系统集成。ColossalAI 的优势在于它易于使用,可以为数据科学家和机器学习工程师提供快速和有效的方法来构建和部署高质量的大型模型。

from colossalai.logging import get_dist_loggerfrom colossalai.trainer import Trainer, hooks # build components and initialize with colossaalai.initialize... # create a logger so that trainer can log on thhe consolelogger = get_dist_logger() # create a trainer objecttrainer = Trainer(    engine=engine,    logger=logger)

7.emcee

emcee是一个开源的 Python 库,用于使用 Markov chain Monte Carlo(MCMC)方法进行模型拟合和参数估计。这个库在 GitHub 上有超过 1k 星。

48fbb92e-8136-11ed-8abf-dac502259ad0.png

emcee 是面向对象的,并且具有用于诊断和调试拟合过程的许多工具。它使用了一种叫做"决策树结构链"的方法,可以并行化拟合过程,提高拟合效率。emcee 非常适合处理复杂的非线性模型,并且可以轻松扩展到大型数据集。它也可以轻松与其他 Python 库集成,如 NumPy、SciPy和Matplotlib。
import numpy as npimport emcee def log_prob(x, ivar):    return -0.5 * np.sum(ivar * x ** 2)  ndim, nwalkers = 5, 100 ivar = 1./np.random.rand(ndim)p0 = np.random.randn(nwalkers, ndim) sampler = emcee.EnsembleSampler(nwalkers, ndim, log_prob, args=[ivar])sampler.run_mcmc(p0, 10000)

总结

以上就是给大家做的工具库介绍,这7个工具库都是非常有用的,对于机器学习工作者来说,它们可以大大提高工作效率,让你能够在简单的方式下编写复杂的代码。所以,如果你还没有了解这些工具库的话,不妨花一点时间来了解一下。

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136230
  • python
    +关注

    关注

    57

    文章

    4857

    浏览量

    89571
  • GitHub
    +关注

    关注

    3

    文章

    484

    浏览量

    18424

原文标题:【推荐】7个强大实用的Python机器学习库!

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Python调用API教程

    不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests发送HTTP请求 使用Python调用API的第一步是发送HTTP
    的头像 发表于 11-03 09:15 322次阅读

    termux如何搭建python游戏

    戏开发流程 以Pygame为例,创建一基础窗口: ```python import pygame pygame.init() screen = pygame.display.set_mode
    发表于 08-29 07:06

    基于米尔瑞芯微RK3576开发板的创建机器学习环境方案

    】 【米尔-瑞芯微RK3576核心板及开发板】具有6TpsNPU以及GPU,因此是学习机器学习的好环境,为此结合《深度学习的数学——使用Python语言》 1、使用vscode 连接远
    发表于 06-27 11:33

    python入门圣经-高清电子书(建议下载)

    和Pygal 等强大Python 和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容; 第二部分将理论付诸实践,讲解如何开发三项目,包括简单的
    发表于 04-10 16:53

    十大鲜为人知却功能强大机器学习模型

    本文转自:QuantML当我们谈论机器学习时,线性回归、决策树和神经网络这些常见的算法往往占据了主导地位。然而,除了这些众所周知的模型之外,还存在一些鲜为人知但功能强大的算法,它们能够以惊人的效率
    的头像 发表于 04-02 14:10 913次阅读
    十大鲜为人知却功能<b class='flag-5'>强大</b>的<b class='flag-5'>机器</b><b class='flag-5'>学习</b>模型

    Python在嵌入式系统中的应用场景

    你想把你的职业生涯提升到一新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的
    的头像 发表于 03-19 14:10 1187次阅读

    是否可以使用OpenVINO™部署管理器在部署机器上运行Python应用程序?

    使用 OpenVINO™部署管理器创建运行时软件包。 将运行时包转移到部署机器中。 无法确定是否可以在部署机器上运行 Python 应用程序,而无需安装OpenVINO™ Toolkit 和
    发表于 03-05 08:16

    基于瑞芯微米尔RK3576开发板创建机器学习环境

    及开发板】具有6TpsNPU以及GPU,因此是学习机器学习的好环境,为此结合《深度学习的数学——使用Python语言》 1、使用vscode 连接远程开发板 2、使用conda新建虚
    发表于 02-08 14:44

    深度学习入门:简单神经网络的构建与实现

    深度学习中,神经网络是核心模型。今天我们用 Python 和 NumPy 构建一简单的神经网络。 神经网络由多个神经元组成,神经元之间通过权重连接。我们构建一包含输入层、隐藏层和输
    的头像 发表于 01-23 13:52 839次阅读

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2213次阅读

    适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据

    和 MariaDB 数据服务器以及托管数据服务,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全实现了 Python DB API 2.0 规范,并作为 Windows、macOS
    的头像 发表于 01-17 12:18 844次阅读
    适用于MySQL和MariaDB的<b class='flag-5'>Python</b>连接器:可靠的MySQL数据连接器和数据<b class='flag-5'>库</b>

    适用于Oracle的Python连接器:可访问托管以及非托管的数据

    适用于 Oracle 的 Python 连接器 适用于 Oracle 的 Python 连接器是一种可靠的连接解决方案,用于从 Python 应用程序访问 Oracle 数据服务器和
    的头像 发表于 01-14 10:30 739次阅读

    传统机器学习方法和应用指导

    用于开发生物学数据的机器学习方法。尽管深度学习(一般指神经网络算法)是一强大的工具,目前也非常流行,但它的应用领域仍然有限。与深度
    的头像 发表于 12-30 09:16 1969次阅读
    传统<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法和应用指导

    如何选择云原生机器学习平台

    当今,云原生机器学习平台因其弹性扩展、高效部署、低成本运营等优势,逐渐成为企业构建和部署机器学习应用的首选。然而,市场上的云原生机器
    的头像 发表于 12-25 11:54 698次阅读

    《具身智能机器人系统》第7-9章阅读心得之具身智能机器人与大模型

    将自然语言理解与运动规划融为一体。这种端到端的方法使机器人能够直接从人类指令生成动作序列,大幅简化了控制流程。该项目的工作流程包含设计并封装一个人机器人函数、编写清晰地描述提示词、在仿真环境中执行
    发表于 12-24 15:03