作者:机器之心
编者按
如果说Pandas是传统机器学习的必备模块,那么Numpy就是深度学习的基本功。目前市面上有太多基于Pandas的教程,但是关于Numpy的教程,在寻找资料的过程中笔者发现NumPy 官方早在去年就已出了一个中文版网站,涵盖 NumPy 的一切。
在 Github 上一度蝉联最流行的机器学习和数据科学包 NumPy,已经有了非常之系统的中文文档,回想起当初细啃 NumPy 之时,不少人不得不徘徊于各大搜索引擎及平台反复查找,找到的文档也许还很不系统。现在,如果有什么和 NumPy 的问题,只需要浏览这份官方中文文档就足够了。它足够的系统、全面且亲民。亲民到什么程度呢?网站还独一份的配备了「防脱发指南」。 NumPy 是什么?它是大名鼎鼎的,使用 Python 进行科学计算的基础软件包,是 Python 生态系统中数据分析、机器学习、科学计算的主力军,极大简化了向量与矩阵的操作处理。除了计算外,它还包括了:功能强大的 N 维数组对象。
精密广播功能函数。
集成 C/C+和 Fortran 代码的工具。
强大的线性代数、傅立叶变换和随机数功能
Ndarray:一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。
切片和索引:ndarray 对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。
理解 NumPy
NumPy 简单入门教程
Python NumPy 教程
创建 NumPy 数组的不同方式
NumPy 中的矩阵和向量
进阶篇
NumPy 数据分析练习
NumPy 神经网络
使用 NumPy 进行数组编程
NumPy 实现k均值聚类算法
NumPy 实现DNC、RNN和LSTM神经网络算法
其他篇
OpenCV中的图像的基本操作
MinPy:MXNet后端的NumPy接口
前言
线性回归
数字识别
图像分类
词向量
个性化推荐
情感分析
语义角色标注
机器翻译
生成对抗网络
七日入门深度学习(正在更新)
Day 1:初识深度学习
Day 1:如何快速入门深度学习?
Day 2:图像识别基础与实战
Day 3:目标检测基础与实践(一)
Day 3:目标检测实战-RCNN算法讲解
Day 3:目标检测实战-YOLOv3检测物体
feature_names = [
'CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX',
'PTRATIO', 'B', 'LSTAT', 'convert'
]
feature_num = len(feature_names)
data = np.fromfile(filename, sep=' ') # 从文件中读取原始数据
data = data.reshape(data.shape[0] // feature_num, feature_num)
maximums, minimums, avgs = data.max(axis=0), data.min(axis=0), data.sum(axis=0)/data.shape[0]
for i in six.moves.range(feature_num-1):
data[:, i] = (data[:, i] - avgs[i]) / (maximums[i] - minimums[i]) # six.moves可以兼容python2和python3
ratio = 0.8 # 训练集和验证集的划分比例
offset = int(data.shape[0]*ratio)
train_data = data[:offset]
test_data = data[offset:]
def reader_creator(train_data):
def reader():
for d in train_data:
yield d[:-1], d[-1:]
return reader
train_reader = paddle.batch(
paddle.reader.shuffle(
reader_creator(train_data), buf_size=500),
batch_size=BATCH_SIZE)
test_reader = paddle.batch(
paddle.reader.shuffle(
reader_creator(test_data), buf_size=500),
batch_size=BATCH_SIZE)
用户文档和参考手册:覆盖 NumPy 的一切 当然,最核心的部分当然是 NumPy 本身的文档了。中文版中对用户的使用文档和 NumPy 所有 API 都进行了翻译和整理工作,基本上用户需要的内容都可以在这里找到。 用户文档目录如下,这里还贴心地提供了和「竞品」Matlab 的比较,以及 NumPy 在 C 语言下的 API 使用方法。
NumPy 介绍
快速入门教程
NumPy 基础知识
其他杂项
与 Matlab 比较
从源代码构建
使用 NumPy 的 C-API
NumPy 行为准则
Git 教程
设置和使用您的开发环境
开发流程
NumPy 基准测试
NumPy C 风格指南
发布一个版本
NumPy 治理
相关文章推荐
Numpy和Pandas合璧,打牢机器学习和深度学习的基本功
点击蓝字标题,即可阅读《【数据科学】Pandas数据分析入门》
本文福利
可以在 本公众号后台 回复关键词:“ DS ”获取大量由我平台编辑精心整理的数据科学资料,如果觉得有用, 请勿吝啬你的留言和赞哦!
—— 完 ——
文章须知
文章作者:机器之心
责任编辑:书生
审核编辑:阿春
微信编辑:玖蓁
本文转载自公众号 机器之心
(ID:almosthuman2014)
原文链接:「最全」实至名归,NumPy 官方早有中文教程,结合深度学习,还有防脱发指南