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

💡 前言

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

💡 工具库介绍

💦 1.Prophet

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

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

	# 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。

	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是一个强大的工具,可以帮助用户提高机器学习模型的性能,提高模型的准确率。它的易用性和可扩展性使它成为机器学习工作流中的一个重要工具。

	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是一个非常实用的库,可以帮助快速评估模型的性能。

	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,数据科学家最终可以保持对他们部署的机器学习模型的完全可见性和信任。

	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 的优势在于它易于使用,可以为数据科学家和机器学习工程师提供快速和有效的方法来构建和部署高质量的大型模型。

	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。

	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)

💡 总结

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

Python 的迅速崛起对整个行业来说都是极其有利的 ,但“人红是非多”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料

在这里插入图片描述

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值