首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >实用!7个强大的Python机器学习库!⛵

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

原创
作者头像
ShowMeAI
发布于 2022-12-19 07:51:49
发布于 2022-12-19 07:51:49
81200
代码可运行
举报
文章被收录于专栏:ShowMeAI研究中心ShowMeAI研究中心
运行总次数:0
代码可运行

本文整理了7个非常有效的机器学习Python库:Prophet、Deep Lake、Optuna、pycm、NannyML、ColossalAI、emcee,用简单的方式编写复杂且耗时的代码,大大提升工作效率!


💡 作者:韩信子@ShowMeAI 📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41 📘 本文地址:https://www.showmeai.tech/article-detail/412 📢 声明:版权所有,转载请联系平台与作者并注明出处 📢 收藏ShowMeAI查看更多精彩内容

💡 前言

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

💡 工具库介绍

💦 1.Prophet

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

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

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# Python
forecast = m.predict(future)
forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()

💦 2.Deep Lake

📘Deep Lake 是一种数据集格式,提供简单的 API 以用于创建、存储和协作处理任何规模的 AI 数据集。这个库在 GitHub 上有超过 5k 星。

Deep Lake 的数据布局可以在大规模训练模型的同时,实现数据的快速转换和流式传输。谷歌、Waymo、红十字会、牛津大学等都在使用 Deep Lake。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
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 颗星。

Optuna 使用了贝叶斯优化算法来自动调整超参数,并使用基于树的方法来探索参数空间。这使得 Optuna 能够在训练机器学习模型时自动进行超参数调整,从而提高模型的性能。Optuna 可以与各种机器学习框架集成使用,包括 TensorFlow、PyTorch、XGBoost 等。它还支持多种优化目标,包括最小化损失函数、最大化准确率等。

总的来说,Optuna是一个强大的工具,可以帮助用户提高机器学习模型的性能,提高模型的准确率。它的易用性和可扩展性使它成为机器学习工作流中的一个重要工具。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
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 study
study.optimize(objective, n_trials=100) # Invoke opotimization of the objective function

💦 4.pycm

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

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

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
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 星。

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

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import nannyml as nml
from 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 size
chunk size = 5000

# initialize, specify required data columns,, fit estimator and estimate
estimator = 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 results
figure = estimated_performance.plot(kind='performance', metric='roc_auc', plot_reference=True)
figure.show()

💦 6.ColossalAI

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

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

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
from colossalai.logging import get_dist_logger
from colossalai.trainer import Trainer, hooks

# build components and initialize with colossaalai.initialize
...

# create a logger so that trainer can log on thhe console
logger = get_dist_logger()

# create a trainer object
trainer = Trainer(
    engine=engine,
    logger=logger
)

💦 7.emcee

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

emcee是面向对象的,并且具有用于诊断和调试拟合过程的许多工具。它使用了一种叫做"决策树结构链"的方法,可以并行化拟合过程,提高拟合效率。emcee 非常适合处理复杂的非线性模型,并且可以轻松扩展到大型数据集。它也可以轻松与其他 Python 库集成,如 NumPy、SciPy和Matplotlib。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
import 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)

💡 总结

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

参考资料

推荐阅读

🌍 数据分析实战系列:https://www.showmeai.tech/tutorials/40

🌍 机器学习数据分析实战系列:https://www.showmeai.tech/tutorials/41

🌍 深度学习数据分析实战系列:https://www.showmeai.tech/tutorials/42

🌍 TensorFlow数据分析实战系列:https://www.showmeai.tech/tutorials/43

🌍 PyTorch数据分析实战系列:https://www.showmeai.tech/tutorials/44

🌍 NLP实战数据分析实战系列:https://www.showmeai.tech/tutorials/45

🌍 CV实战数据分析实战系列:https://www.showmeai.tech/tutorials/46

🌍 AI 面试题库系列:https://www.showmeai.tech/tutorials/48

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
从新闻到预测:基于大语言模型时序预测中的迭代事件推理
论文标题:From News to Forecast: Iterative Event Reasoning in LLM-Based Time Series Forecasting
科学最Top
2025/06/11
1720
从新闻到预测:基于大语言模型时序预测中的迭代事件推理
图解BERT模型:从零开始构建BERT
本文首先介绍BERT模型要做什么,即:模型的输入、输出分别是什么,以及模型的预训练任务是什么;然后,分析模型的内部结构,图解如何将模型的输入一步步地转化为模型输出;最后,我们在多个中/英文、不同规模的数据集上比较了BERT模型与现有方法的文本分类效果。 1. 模型的输入/输出 BERT模型的全称是:BidirectionalEncoder Representations from Transformer。从名字中可以看出,BERT模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的Repre
腾讯Bugly
2019/01/30
47.4K3
图解BERT模型:从零开始构建BERT
LLMs大模型在金融投资领域的15个具体应用场景
传统的股票时间序列预测主要依赖统计和计量经济学方法,如自回归滑动平均模型(ARMA-GARCH)、向量自回归模型(VAR)、状态空间模型、扩散模型和误差修正向量模型(VECM)。这些模型通过识别金融系列中的模式和波动性,对市场进行分析和预测。随着机器学习的发展,决策树、支持向量机(SVM)等方法逐渐受到重视。近年来,深度学习技术如循环神经网络(RNN)、卷积神经网络(CNN)和Transformer模型的应用显著提升了股票时间序列预测的精度和效率。GPT-3、GPT-4和LLaMA等大型语言模型在解析复杂数据关系方面表现出色,推动了时间序列数据转化为文本序列的创新。
AIGC部落
2024/07/22
3470
大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍
预训练属于迁移学习的范畴。现有的神经网络在进行训练时,一般基于反向传播(Back Propagation,BP)算法,先对网络中的参数进行随机初始化,再利用随机梯度下降(Stochastic Gradient Descent,SGD)等优化算法不断优化模型参数。而预训练的思想是,模型参数不再是随机初始化的,而是通过一些任务进行预先训练,得到一套模型参数,然后用这套参数对模型进行初始化,再进行训练。
汀丶人工智能
2023/07/17
6.9K0
大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍
Data+AI时代下,如何权衡俩者之间的关系?
在当今信息爆炸的时代,每秒都会产⽣海量数据,各⾏各业万花筒式的开展,导致结构化数据与⾏为追踪数据⼤量涌⼊我们的视野。
一臻数据
2025/01/13
1160
Data+AI时代下,如何权衡俩者之间的关系?
RAG 修炼手册|一文讲透 RAG 背后的技术
今天我们继续剖析 RAG,将为大家详细介绍 RAG 背后的例如 Embedding、Transformer、BERT、LLM 等技术的发展历程和基本原理,以及它们是如何应用的。
Zilliz RDS
2024/04/11
1.9K0
RAG 修炼手册|一文讲透 RAG 背后的技术
万字长文——这次彻底了解LLM大语言模型
自然语言处理领域正在经历着一场又一场的革命,各类技术层出不穷,不断的改变我们对文本的理解方式和文本生成方式。类似与蝴蝶效应,这场革命不仅提高了机器翻译、文本摘要、文本分类等任务的性能,还在各行各业引发了巨大的变革。越来越 多的行业AI化、智能化。在本小节,将介绍一些语言模型中的核心概念,为更好的理解大语言模型做铺垫。
聪明鱼
2023/12/07
6.5K2
LLM4Rec:当推荐系统遇到大语言模型
大模型LLM在越来越多的领域开始崭露头角,前段时间我们整理了大模型在推荐系统中的应用 survey,当时留了一些坑没填上,今天补上。
NewBeeNLP
2024/01/17
3.6K0
LLM4Rec:当推荐系统遇到大语言模型
大语言模型技术原理
在今天这个时代,人们的工作和生活已经离不开数据访问,而几乎所有平台背后的数据存储和查询都离不开数据库。SQL作为一种数据库的查询和处理语言历史悠久,最早由IBM于上世纪70年代初研究关系数据模型时提出,后续发展为一种广泛使用的数据库标准访问接口。
NineData
2023/05/30
1.9K0
大语言模型技术原理
大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路
2025年初,中国推出了具有开创性且高性价比的「大型语言模型」(Large Language Model — LLM)DeepSeek-R1,引发了AI的巨大变革。本文回顾了LLM的发展历程,起点是2017年革命性的Transformer架构,该架构通过「自注意力机制」(Self-Attention)彻底重塑了自然语言处理。到2018年,BERT和GPT等模型崭露头角,显著提升了上下文理解和文本生成能力。2020年,拥有1750亿参数的GPT-3展示了卓越的「少样本」和「零样本」学习能力。然而,「幻觉」问题 — —即生成内容与事实不符,甚至出现「一本正经地胡说八道」的现象 — — 成为了一个关键挑战。2022年,OpenAI通过开发「对话式」的ChatGPT应对这一问题,采用了「监督微调」(SFT)和「基于人类反馈的强化学习」(RLHF)。到2023年,像GPT-4这样的「多模态模型」整合了文本、图像和音频处理能力,使LLM能够以更接近人类的「听」、「说」、「看」能力。近期推出的OpenAI-o1和DeepSeek-R1「推理模型」(Reasoning Model)在复杂问题解决方面取得突破,赋予LLM更接近人类「系统2思维」的深度推理能力,标志着人工智能在模拟人类思维模式上迈出了重要一步。此外,DeepSeek-R1模型以其「超成本效益」和「开源」设计挑战了AI领域的传统规范,推动了先进LLL的普及,并促进了各行业的创新。
致Great
2025/02/17
1.2K0
大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路
Transformer 架构—Encoder-Decoder
最初的Transformer是基于广泛应用在机器翻译领域的Encoder-Decoder架构:
JOYCE_Leo16
2024/03/19
1.2K0
Transformer 架构—Encoder-Decoder
AI论文速读 | 计时器(Timer):用于大规模时间序列分析的Transformer
题目:Timer: Transformers for Time Series Analysis at Scale
时空探索之旅
2024/11/19
4200
AI论文速读 | 计时器(Timer):用于大规模时间序列分析的Transformer
大语言模型-2.2/3-主流模型架构与新型架构
本博客内容是《大语言模型》一书的读书笔记,该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品,覆盖大语言模型训练与使用的全流程,从预训练到微调与对齐,从使用技术到评测应用,帮助学员全面掌握大语言模型的核心技术。并且,课程内容基于大量的代码实战与讲解,通过实际项目与案例,学员能将理论知识应用于真实场景,提升解决实际问题的能力。
IT从业者张某某
2025/03/24
2530
大语言模型-2.2/3-主流模型架构与新型架构
[量化投资]万字综述,94篇论文分析股市预测的深度学习技术
论文 | Stock Market Prediction via Deep Learning Techniques: A Survey
核桃量化
2023/01/31
3.9K0
[量化投资]万字综述,94篇论文分析股市预测的深度学习技术
论文推荐:大语言模型在金融领域的应用调查
这篇论文总结了现有LLM在金融领域的应用现状,推荐和金融相关或者有兴趣的朋友都看看
deephub
2024/01/30
5030
论文推荐:大语言模型在金融领域的应用调查
QuantML | 使用财务情绪与量价数据预测稳健的投资组合(附代码)
投资组合管理是最大化投资组合回报的过程。投资组合经理根据他们对风险的偏好,代表客户做出交易决策。他们在决定他们应该在投资组合中持有哪些股票以平衡风险和获取最大回报之前,分析不同的资产的优势和劣势。这使得投资组合管理变得困难。我们的目标是通过使用预测建模和深度学习技术使这个过程更好,根据下个季度的预测股价生成稳定的投资组合。
量化投资与机器学习微信公众号
2019/06/20
2.3K0
深度学习在股市的应用概述
股票市场预测由于其非线性、高度波动性和复杂性,一直是个复杂的问题。近年来,深度学习在许多领域占据了主导地位,在股市预测方面取得了巨大的成功和普及。本文以深度学习技术为重点,对其应用于股市预测研究进行结构化和全面的概述,介绍了股市预测的四个子任务及股市预测主流模型,并分享了一些关于股市预测的新观点及未来的几个方向。
算法进阶
2023/09/15
1.2K0
深度学习在股市的应用概述
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
LLM本身基于transformer架构。自2017年,attention is all you need诞生起,原始的transformer模型为不同领域的模型提供了灵感和启发。基于原始的Transformer框架,衍生出了一系列模型,一些模型仅仅使用encoder或decoder,有些模型同时使用encoder+decoder。
小言从不摸鱼
2024/09/26
6470
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
LLM主要类别架构
💫LLM分类一般分为三种:自编码模型(encoder)、自回归模型(decoder)和序列到序列模型(encoder-decoder)。
@小森
2024/06/04
5910
Python用langchain、OpenAI大语言模型LLM情感分析苹果股票新闻数据及提示工程优化应用
本文主要探讨了如何利用大语言模型(LLMs)进行股票分析。通过使用提供的股票市场和金融新闻获取数据,结合Python中的相关库,如Pandas、langchain等,实现对股票新闻的情感分析。利用大语言模型构建情感分析模型,通过提示工程等技术优化模型,最终通过可视化展示股票市场的情感倾向,为股票投资决策提供参考。
拓端
2025/02/07
2490
Python用langchain、OpenAI大语言模型LLM情感分析苹果股票新闻数据及提示工程优化应用
推荐阅读
相关推荐
从新闻到预测:基于大语言模型时序预测中的迭代事件推理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档