• Python大数据与机器学习之NumPy初体验


    本文是Python大数据与机器学习系列文章中的第6篇,将介绍学习Python大数据与机器学习所必须的NumPy库。

    通过本文系列文章您将能够学到的知识如下:

    • 应用Python进行大数据与机器学习

    • 应用Spark进行大数据分析

    • 实现机器学习算法

    • 学习使用NumPy库处理数值数据

    • 学习使用Pandas库进行数据分析

    • 学习使用Matplotlib库进行Python绘图

    • 学习使用Seaborn库进行统计绘图

    • 使用Plotly库进行动态可视化

    • 使用SciKit-learn处理机器学习任务

    • K-Means聚类

    • 逻辑回归

    • 线性回归

    • 随机森林与决策树

    • 自然语言处理与垃圾邮件过滤

    • 神经网络

    • 支持向量机

    另外小编也会拥抱变化,根据评论中的需求情况增加其它有意义的内容。例如增加一些相关面试题等等。

    什么是NumPy

    NumPy是非常重要的Python数值计算扩展库,基本整个Python大数据生态都依赖它,并且由于绑定了C语言库,因此速度非常快。可以说我们要学好Python大数据,必须要学的就是NumPy库了。

    安装NumPy

    如果你根据之前的文章安装了anaconda,那么你已经默认安装了NumPy库了。如想单独安装请继续往下看。

    使用conda安装的命令:

    conda install numpy

    使用pip安装的命令:

    pip install numpy

    NumPy array

    本系列文章主要用到的是numpy的array(数组);

    numpy array有两种基本形式:vector(向量)和matrics(矩阵)

    vector是一维的,而matrics是二维的。

    打开Jupyter,输入如下内容:

    import numpy as np

    my_list = [1,2,3]

    arr = np.array(my_list)

    arr

    运行得到如下结果:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    以上就是vector的一般形式

    继续输入如下内容:

    my_mat = [[1,2,3],[4,5,6],[7,8,9]]

    np.array(my_mat)

    运行得到如下结果:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    以上就是二维matrics矩阵。

    numpy有自己的range函数

    np.arange(0,10)

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    还可以指定步长np.arange(0,10,2)

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    生成所有元素为0的向量np.zeros(3)

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    生成所有元素为0的矩阵np.zeros((5,5))

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    同样生成所有元素为1的向量和矩阵分表为np.ones(4),np.ones((2,3))

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    np.linspace(0,5,20)

    第一个参数是起始点,第二个参数是结束点,第三个参数是从起点到终点距离分成多少份。

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    np.eye(4)生成4*4的主对角线为1的矩阵

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    np.random.rand(5)生成随机向量

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    np.random.rand(5,5)生成5*5的随机向量

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    np.random.randn(2)生成标准正态分布曲线。

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    np.random.randn(4,4)二维的标准正态分布曲线

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    提示:

    在Jupyter输入框中按tab键可以提示联想菜单,按shift+tab可以提示函数用法

    按tab键

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    按shift+tab键

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    np.random.randint(1,100)生成1个1到100之间的随机整数,不包含100

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    np.random.randint(1,100,10)生成10个1到100之间的随机整数,不包含100

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    array类型支持的一些函数:

    reshape函数可以修改array的维数。例如:

    arr = np.arange(25)

    arr.reshape(5,5)

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    max函数:最大值

    min函数:最小值

    argmax函数:返回最大值的索引

    argmin函数:返回最小值的索引

    ranarr = np.random.randint(1,100,10)

    ranarr.max()

    ranarr.min()

    ranarr.argmax()

    ranarr.argmin()

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    shape函数,返回array的大小

    dtype,返回数据类型

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

    调用简化:

    from numpy.random import randint

    我们就可以直接使用randint了

    randint(2,10)

    运行结果如下:

    零基础入门到精通:Python大数据与机器学习之NumPy初体验

  • 相关阅读:
    大二上每日总结
    大二上每日总结
    大二上每日总结
    大二上每日总结
    大二上每日总结
    大二上每日总结
    MyBatis(八)MyBatis逆向工程
    MyBatis(七)SSM 整合:MyBatisSpringSpringMVC 整合
    MyBatis(九)工作原理 之 框架分层架构
    Interesting Finds: 2008.06.01
  • 原文地址:https://www.cnblogs.com/cuiyubo/p/8979518.html
Copyright © 2020-2023  润新知