前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习 | 四大常用机器学习Python库介绍

机器学习 | 四大常用机器学习Python库介绍

作者头像
DataCharm
发布2021-03-11 14:43:56
4.9K0
发布2021-03-11 14:43:56
举报
文章被收录于专栏:数据 学术 商业 新闻

今天这篇我们介绍下Python中常用的机器学习库(机器学习、深度学习啥的,小编还是建议使用Python进行建模编写哈),也算是本公号机器学习的第一篇推文,主要内容如下:

  • 机器学习常用四大Python库
  • 关于机器学习的我想说的话

深度学习常用四大Python库

这一部分我们简单介绍下Python中的常用的机器学习库,算是比较入门的介绍哈,具体包括Scikit-learn、Keras、TensorFlow和PyTorch,下面我们就一一简单介绍:

Scikit-learn

  1. 「官网」

网址:https://scikit-learn.org/stable/

  1. 「简单介绍」

Scikit-learn(sklearn)是机器学习中常用的第三方模块,其对常用的机器学习方法进行了封装,具体包括回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)等方法。主要特点:

  • 简单高效的数据挖掘和数据分析工具
  • 够在复杂环境中重复使用
  • 建立NumPy、Scipy、MatPlotLib之上
  1. 「官方样例及示图」
  • Classification(分类)

Classification

  • Regression(回归)

Regression

  • Clustering(聚类)

Clustering

更多内容,小伙伴们可参考上方官网哈

Keras

这个库也是小编较常使用的深度学习库,其高度集成式可帮助你快速搭建深度学习网络。值得一提的是,官方也提供了对应的中文网站哦,帮助大家更好的理解。

  1. 「官网」

网址:https://keras.io/zh/

  1. 「简单介绍」

Keras是一个由Python编写的开源人工神经网络库,在代码结构上由面向对象方法编写,完全模块化并具有可扩展性,其运行机制和说明文档有将用户体验和使用难度纳入考虑,并试图简化复杂算法的实现难度。特点如下:

  • 支持现代人工智能领域的主流算法,包括前馈结构和递归结构的神经网络,
  • 可通过封装参与构建统计学习模型。
  • 支持多操作系统下的多GPU并行计算。
  1. 「官方样例及示图」
  • 基于多层感知器 (MLP) 的 softmax 多分类:
代码语言:javascript
复制
import keras
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.optimizers import SGD

# 生成虚拟数据
import numpy as np
x_train = np.random.random((1000, 20))
y_train = keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10)
x_test = np.random.random((100, 20))
y_test = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)

model = Sequential()
# Dense(64) 是一个具有 64 个隐藏神经元的全连接层。
# 在第一层必须指定所期望的输入数据尺寸:
# 在这里,是一个 20 维的向量。
model.add(Dense(64, activation='relu', input_dim=20))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))

sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
              optimizer=sgd,
              metrics=['accuracy'])

model.fit(x_train, y_train,
          epochs=20,
          batch_size=128)
score = model.evaluate(x_test, y_test, batch_size=128)
  • 基于多层感知器的二分类
代码语言:javascript
复制
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, Dropout

# 生成虚拟数据
x_train = np.random.random((1000, 20))
y_train = np.random.randint(2, size=(1000, 1))
x_test = np.random.random((100, 20))
y_test = np.random.randint(2, size=(100, 1))

model = Sequential()
model.add(Dense(64, input_dim=20, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy',
              optimizer='rmsprop',
              metrics=['accuracy'])

model.fit(x_train, y_train,
          epochs=20,
          batch_size=128)
score = model.evaluate(x_test, y_test, batch_size=128)
  • 基于 LSTM 的序列分类
代码语言:javascript
复制
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.layers import Embedding
from keras.layers import LSTM

max_features = 1024

model = Sequential()
model.add(Embedding(max_features, output_dim=256))
model.add(LSTM(128))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy',
              optimizer='rmsprop',
              metrics=['accuracy'])

model.fit(x_train, y_train, batch_size=16, epochs=10)
score = model.evaluate(x_test, y_test, batch_size=16)

通过以上样例可以发现,只需简单的集成化操作就可以构建出浅层甚至多层的神经网络模型,还是十分方便的。更多样例和操作方法,大家可参考官网哈~~

TensorFlow

  1. 「官网」

网址:https://tensorflow.google.cn/

  1. 「简单介绍」

TensorFlow是一个开放源代码软件库,用于进行高性能数值计算,是一个用于研究和生产的开放源代码机器学习库。其提供了各种 API,可供初学者和专家在桌面、移动、网络和云端环境下进行开发,采用数据流图(Data Flow Graphs)来计算。

  1. 「官方样例」TensorFlow 官网提供详细而全面的教程和应用文章,大家可前往阅读。

PyTorch

其实这个库吧,在我刚接触深度学习时还不是特别大众化,但在我 快毕业时,其越来越被接受和使用,我想这与其可高度自定义化操作特点有关。

  1. 「官网」

网址:https://pytorch.org/

  1. 「简单介绍」

PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:

  • 具有强大的GPU加速的张量计算(如NumPy)。
  • 包含自动求导系统的深度神经网络。

「特点如下:」

  • PyTorch是相当简洁且高效快速的框架。
  • 设计追求最少的封装。
  • 设计符合人类思维,它让用户尽可能地专注于实现自己的想法。
  • 与google的Tensorflow类似,FAIR的支持足以确保PyTorch获得持续的开发更新。
  • PyTorch作者亲自维护的论坛 供用户交流和求教问题。
  • 入门简单。
  1. 「官方样例」
  • TRAINING A CLASSIFIER(分类训练)

网址:https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#sphx-glr-beginner-blitz-cifar10-tutorial-py

  • TORCHVISION OBJECT DETECTION FINETUNING TUTORIAL(目标检测)

网址:https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html

Mask R-CNN adds an extra branch into Faster R-CNN, which also predicts segmentation masks for each instance.

更多优秀案例,大家可阅读PyTorch官网。

关于机器学习的我想说的话

其实对于机器学习或者深度学习,小编的建议还是熟练掌握Scikit-learn、Keras以及PyTorch,这里不是要求掌握到自己熟练编写网络层,但要对其原理有所了解,使自己可以对其进行简单的修改。因为我们实际工作中用到的模型早已经成熟或者开源,大家完全可以去Github上进行下载和解读。但对一些科研需求,则需要自己进行代码 修改甚至相关网络层的编写。本公号后续推出的机器学习相关推文也会从简至难,也会有完整的流程化步骤帮助大家更好地将理论应用到实际上。

最后,给正在追求精度的模型小伙伴说句话:“这玩意吧~精度和结果有时候真得看运气~~

”,具体原因就不说了,有经验的我们会心一笑即可

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 深度学习常用四大Python库
    • Scikit-learn
      • Keras
        • TensorFlow
          • PyTorch
          • 关于机器学习的我想说的话
          相关产品与服务
          GPU 云服务器
          GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档