search
HomeTechnology peripheralsAIThe 9 most commonly used Python libraries for machine learning

The 9 most commonly used Python libraries for machine learning

机器学习是一种编程技术,让计算机能够从多种数据中自动学习。过去,开发人员需要手动编写算法来进行机器学习任务。而现在,使用各种Python库,我们能够更高效地完成机器学习任务。这种技术的发展使得机器学习变得更加普遍和易于实施。

机器学习中使用的Python库

Numpy

NumPy是一个强大的Python库,专门用于处理大型多维数组和矩阵。它提供了丰富的高级数学函数,非常适用于机器学习中的基础计算。其中包括线性代数、傅里叶变换和随机数功能等等。

相应代码

import numpy as np
x=np.array([[1,2],[3,4]])
y=np.array([[5,6],[7,8]])
v=np.array([9,10])
w=np.array([11,12])
print(np.dot(v,w),"\n")
print(np.dot(x,v),"\n")
print(np.dot(x,y))

Scipy

SciPy在机器学习爱好者中非常受欢迎,因为它包含优化、线性代数、集成和统计等模块,SciPy对于图像处理也非常有用。

SciPy库和SciPy堆栈之间存在差异,SciPy是构成SciPy堆栈的核心包之一。

from scipy.misc import imread,imsave,imresize
img=imread('D:/Programs/cat.jpg')#path of the image
print(img.dtype,img.shape)
img_tint=img*[1,0.45,0.3]
imsave('D:/Programs/cat_tinted.jpg',img_tint)
img_tint_resize=imresize(img_tint,(300,300))
imsave('D:/Programs/cat_tinted_resized.jpg',img_tint_resize)

Scikit-learn

Scikit-learn是用于经典ML算法库之一。它是基于NumPy和SciPy库建立的。Scikit-learn支持大多数有监督和无监督学习算法。Scikit-learn还可用于数据挖掘和数据分析。

from sklearn import datasets
from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
dataset=datasets.load_iris()
model=DecisionTreeClassifier()
model.fit(dataset.data,dataset.target)
print(model)
expected=dataset.target
predicted=model.predict(dataset.data)
print(metrics.classification_report(expected,predicted))
print(metrics.confusion_matrix(expected,predicted))

Theano

机器学习基本上是数学和统计学。Theano是一个流行的Python库,以有效的方式定义、评估和优化涉及多维数组的数学表达式。它是通过优化CPU和GPU的利用率来实现的。它广泛用于单元测试和自我验证,以检测和诊断不同类型的错误。

Theano是一个非常强大的库,无论是大规模计算密集型科学项目,还是个人都能被应用到项目中。

import theano
import theano.tensor as T
x=T.dmatrix('x')
s=1/(1+T.exp(-x))
logistic=theano.function([x],s)
logistic([[0,1],[-1,-2]])

TensorFlow

TensorFlow是一个非常流行的高性能数值计算开源库,由谷歌的Google Brain团队开发。顾名思义,Tensorflow是一个涉及定义和运行涉及张量的计算的框架。它可以训练和运行可用于开发多个AI应用程序的深度神经网络。TensorFlow广泛应用于深度学习研究和应用领域。

import tensorflow as tf
x1=tf.constant([1,2,3,4])
x2=tf.constant([5,6,7,8])
result=tf.multiply(x1,x2)
sess=tf.Session()
print(sess.run(result))
sess.close()

Keras

Keras是一个非常流行的Python机器学习库。提供了许多用于探索、组合和过滤数据的内置方法。能够在TensorFlow、CNTK或Theano之上运行。它可以在CPU和GPU上无缝运行。

Keras的优点之一是它可以轻松快速地进行原型设计。Keras让ML初学者真正能够构建和设计神经网络。

PyTorch

PyTorch是一个流行的基于Torch的Python开源机器学习库,用C语言实现,并在Lua中封装。它有很多工具和库可供选择,支持计算机视觉、自然语言处理(NLP)和更多ML程序。它允许开发人员使用GPU加速对张量执行计算,还有助于创建计算图。

import torch
dtype=torch.float
device=torch.device("cpu")
N,D_in,H,D_out=64,1000,100,10
x=torch.random(N,D_in,device=device,dtype=dtype)
y=torch.random(N,D_out,device=device,dtype=dtype)
w1=torch.random(D_in,H,device=device,dtype=dtype)
w2=torch.random(H,D_out,device=device,dtype=dtype)
learning_rate=1e-6
for t in range(500):
h=x.mm(w1)
h_relu=h.clamp(min=0)
y_pred=h_relu.mm(w2)
loss=(y_pred-y).pow(2).sum().item()
print(t,loss)
grad_y_pred=2.0*(y_pred-y)
grad_w2=h_relu.t().mm(grad_y_pred)
grad_h_relu=grad_y_pred.mm(w2.t())
grad_h=grad_h_relu.clone()
grad_h[h<0]=0
grad_w1=x.t().mm(grad_h)
w1-=learning_rate*grad_w1
w2-=learning_rate*grad_w2

Pandas

Pandas是一个流行的Python数据分析库。它与机器学习没有直接关系。众所周知,数据集必须在训练前准备好。在这种情况下,Pandas就派上用场了,因为它是专门为数据提取和准备而开发的。它为数据分析提供了高级数据结构和各种工具。它提供了许多用于分组、组合和过滤数据的内置方法。

import pandas as pd
data={"country":["Brazil","Russia","India","China","South Africa"],
"capital":["Brasilia","Moscow","New Delhi","Beijing","Pretoria"],
"area":[8.516,17.10,3.286,9.597,1.221],
"population":[200.4,143.5,1252,1357,52.98]}
data_table=pd.DataFrame(data)
print(data_table)

Matplotlib

Matplotlib是一个非常流行的用于数据可视化的Python库。和Pandas一样,它与机器学习没有直接关系。

但它在可视化方面非常有用,作为2D绘图库,可以创建2D图形和绘图,提供了控制线条样式、字体属性、格式化轴等的功能。

用于数据可视化的各种图形和绘图,即直方图、错误图表、条形聊天等均可以通过Matplotlib实现。

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,10,100)
plt.plot(x,x,label=&#x27;linear&#x27;)
plt.legend()
plt.show()

The above is the detailed content of The 9 most commonly used Python libraries for machine learning. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:网易伏羲. If there is any infringement, please contact admin@php.cn delete
解读CRISP-ML(Q):机器学习生命周期流程解读CRISP-ML(Q):机器学习生命周期流程Apr 08, 2023 pm 01:21 PM

译者 | 布加迪审校 | 孙淑娟目前,没有用于构建和管理机器学习(ML)应用程序的标准实践。机器学习项目组织得不好,缺乏可重复性,而且从长远来看容易彻底失败。因此,我们需要一套流程来帮助自己在整个机器学习生命周期中保持质量、可持续性、稳健性和成本管理。图1. 机器学习开发生命周期流程使用质量保证方法开发机器学习应用程序的跨行业标准流程(CRISP-ML(Q))是CRISP-DM的升级版,以确保机器学习产品的质量。CRISP-ML(Q)有六个单独的阶段:1. 业务和数据理解2. 数据准备3. 模型

基于因果森林算法的决策定位应用基于因果森林算法的决策定位应用Apr 08, 2023 am 11:21 AM

译者 | 朱先忠​审校 | 孙淑娟​在我之前的​​博客​​中,我们已经了解了如何使用因果树来评估政策的异质处理效应。如果你还没有阅读过,我建议你在阅读本文前先读一遍,因为我们在本文中认为你已经了解了此文中的部分与本文相关的内容。为什么是异质处理效应(HTE:heterogenous treatment effects)呢?首先,对异质处理效应的估计允许我们根据它们的预期结果(疾病、公司收入、客户满意度等)选择提供处理(药物、广告、产品等)的用户(患者、用户、客户等)。换句话说,估计HTE有助于我

2023年机器学习的十大概念和技术2023年机器学习的十大概念和技术Apr 04, 2023 pm 12:30 PM

机器学习是一个不断发展的学科,一直在创造新的想法和技术。本文罗列了2023年机器学习的十大概念和技术。 本文罗列了2023年机器学习的十大概念和技术。2023年机器学习的十大概念和技术是一个教计算机从数据中学习的过程,无需明确的编程。机器学习是一个不断发展的学科,一直在创造新的想法和技术。为了保持领先,数据科学家应该关注其中一些网站,以跟上最新的发展。这将有助于了解机器学习中的技术如何在实践中使用,并为自己的业务或工作领域中的可能应用提供想法。2023年机器学习的十大概念和技术:1. 深度神经网

使用PyTorch进行小样本学习的图像分类使用PyTorch进行小样本学习的图像分类Apr 09, 2023 am 10:51 AM

近年来,基于深度学习的模型在目标检测和图像识别等任务中表现出色。像ImageNet这样具有挑战性的图像分类数据集,包含1000种不同的对象分类,现在一些模型已经超过了人类水平上。但是这些模型依赖于监督训练流程,标记训练数据的可用性对它们有重大影响,并且模型能够检测到的类别也仅限于它们接受训练的类。由于在训练过程中没有足够的标记图像用于所有类,这些模型在现实环境中可能不太有用。并且我们希望的模型能够识别它在训练期间没有见到过的类,因为几乎不可能在所有潜在对象的图像上进行训练。我们将从几个样本中学习

LazyPredict:为你选择最佳ML模型!LazyPredict:为你选择最佳ML模型!Apr 06, 2023 pm 08:45 PM

本文讨论使用LazyPredict来创建简单的ML模型。LazyPredict创建机器学习模型的特点是不需要大量的代码,同时在不修改参数的情况下进行多模型拟合,从而在众多模型中选出性能最佳的一个。 摘要本文讨论使用LazyPredict来创建简单的ML模型。LazyPredict创建机器学习模型的特点是不需要大量的代码,同时在不修改参数的情况下进行多模型拟合,从而在众多模型中选出性能最佳的一个。​本文包括的内容如下:​简介​LazyPredict模块的安装​在分类模型中实施LazyPredict

Mango:基于Python环境的贝叶斯优化新方法Mango:基于Python环境的贝叶斯优化新方法Apr 08, 2023 pm 12:44 PM

译者 | 朱先忠审校 | 孙淑娟引言模型超参数(或模型设置)的优化可能是训练机器学习算法中最重要的一步,因为它可以找到最小化模型损失函数的最佳参数。这一步对于构建不易过拟合的泛化模型也是必不可少的。优化模型超参数的最著名技术是穷举网格搜索和随机网格搜索。在第一种方法中,搜索空间被定义为跨越每个模型超参数的域的网格。通过在网格的每个点上训练模型来获得最优超参数。尽管网格搜索非常容易实现,但它在计算上变得昂贵,尤其是当要优化的变量数量很大时。另一方面,随机网格搜索是一种更快的优化方法,可以提供更好的

人工智能自动获取知识和技能,实现自我完善的过程是什么人工智能自动获取知识和技能,实现自我完善的过程是什么Aug 24, 2022 am 11:57 AM

实现自我完善的过程是“机器学习”。机器学习是人工智能核心,是使计算机具有智能的根本途径;它使计算机能模拟人的学习行为,自动地通过学习来获取知识和技能,不断改善性能,实现自我完善。机器学习主要研究三方面问题:1、学习机理,人类获取知识、技能和抽象概念的天赋能力;2、学习方法,对生物学习机理进行简化的基础上,用计算的方法进行再现;3、学习系统,能够在一定程度上实现机器学习的系统。

超参数优化比较之网格搜索、随机搜索和贝叶斯优化超参数优化比较之网格搜索、随机搜索和贝叶斯优化Apr 04, 2023 pm 12:05 PM

本文将详细介绍用来提高机器学习效果的最常见的超参数优化方法。 译者 | 朱先忠​审校 | 孙淑娟​简介​通常,在尝试改进机器学习模型时,人们首先想到的解决方案是添加更多的训练数据。额外的数据通常是有帮助(在某些情况下除外)的,但生成高质量的数据可能非常昂贵。通过使用现有数据获得最佳模型性能,超参数优化可以节省我们的时间和资源。​顾名思义,超参数优化是为机器学习模型确定最佳超参数组合以满足优化函数(即,给定研究中的数据集,最大化模型的性能)的过程。换句话说,每个模型都会提供多个有关选项的调整“按钮

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment