机器学习工具:Python 和 Numpy入门

时间:2022-05-06
本文章向大家介绍机器学习工具:Python 和 Numpy入门,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

0 写在前头

我们一般都是从C语言开始学起的,后来发现C语言不能满足我们快速开发的需求,因为它的API使用起来不很方便,还有就是有些功能亟待扩展,这时候我们很多人选择了C++或Java,C#,这些更高级的语言让我们开发软件时,使用起来更方便了。如今,随着人工智能时代的到来,Python迅速成为了机器学习,深度学习的必备语言,流行的机器学习库,sklearn,完全是基于Python开发的API,深度学习库tensorflow也是对Python的支持最好。

由此可见,随着时代的发展,各种语言不断迭代,顺应时代的需求。这样看来,作为开发者的我们除了要学习机器学习,深度学习的一些理论和算法的同时,还得去学各种语言,真的看起来很辛苦,有时候好不容易学会一门语言后,它已经又被新的语言迭代掉了。

实际上,当你深入了掌握一门语言后,再学起其他语言来就会相对更快,与那些从来没接触一门编程语言的来比起来。这是为什么呢?

原来,任何一门语言,本质上都是语言定义的内置类型和相关的API,及我们的扩展自己所需要的类型及定义的方法。

因此,我们只需要把握住两点就能很快入门这门语言:

  • 基本数据类型及封装的API
  • 库内定义通用API,如文件处理等

1 Python 入门

1.1 说说,Python最常用的基本数据类型包括

  • list
  • set
  • dictionary

1.2 内置类型封装的基本操作

再来看看这些类型上定义的最基本的操作,下面是list:

'定义一个list'
months=[]
'向list内添加一个元素'
months.append("January")
'切片访问list的除最后10个元素的所有'
months[:-10]

及其他...


下面是字典:

'定义一个字典'
mydict = {}
'添加一个键值对'
mydict["Tom"] = 90
'拿到所有键'
mydict.keys()

及其他...


1.3 通用API

'求list内含的元素个数'
len(months)
'返回1~10'
range(10)

  及其他...

2 Numpy 入门

NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。

一个用python实现的科学计算包。包括:

  1. 一个强大的N维数组对象Array;
  2. 比较成熟的(广播)函数库;
  3. 用于整合C/C++和Fortran代码的工具包;
  4. 实用的线性代数、傅里叶变换和随机数生成函数。
  5. numpy和稀疏矩阵运算包scipy配合使用更加方便。

Numpy中最基本的数据结构:ndarray,下面看下它的基本操作:


'''
首先要导入numpy包
'''
import numpy as np
'''
'''
numpy.array是一个将python的list包装为ndarray的函数
'''
x = np.array([[1.0, 2], [1, 2]])

'求转置'
xt = x.transpose()
'赋值通过矩阵的索引'
xt[0, 0] =1.0

'求内积,注意dot操作是建立在某个实例矩阵上面的'
x2 = xt.dot(x)
'求逆矩阵需要导入另一个模块linalg'
import numpy.linalg as la
'求逆矩阵'
x2inv = la.inv(x2)

及其他...

交流思想,注重分析,看重过程,包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战,英语沙龙,定期邀请专家发推。期待您的到来!