Python机器学习基础教程 必要的库和工具

一、Numpy

功能:多维数组,高级数学函数,伪随机数生成器

核心功能:ndarray类(多维数组)

1、np.array()方法是生成一个多维数组。

例1、此处为一维数组

import numpy as np
x=np.array([1,2,3])
print("x:\n{}".format(x))



x:
[1 2 3]

例2、此处为二维数组

import numpy as np
x=np.array([[1,2,3],[4,5,6],[7,8,9]])
print("x:\n{}".format(x))



x:
[[1 2 3]
 [4 5 6]
 [7 8 9]]

二、Scipy

功能:线性代数高级程序,数学函数优化,信号处理,特殊数学函数和统计分布等多项功能

核心功能:scipy.sparse:可给出稀疏矩阵,如果想保存一个大部分元素都是0的二维数组,则可使用稀疏矩阵

1、np.eye(x):创建一个二维Numpy数组,对角线为1,其余都为0

import numpy as np

eye=np.eye(5)
print("NumPy array:\n{}".format(eye))



NumPy array:
[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0.0. 1.]]

默认情况下元素类型都为浮点型,所以每个元素后面都会有个小数点,如要修改元素类型

import numpy as np

eye=np.eye(5,dtype=int)
print("NumPy array:\n{}".format(eye))



NumPy array:
[[1 0 0 0 0]
 [0 1 0 0 0]
 [0 0 1 0 0]
 [0 0 0 1 0]
 [0 0 0 0 1]]

2、np.ones(n):创建一个数组且为n个1的数组

data=np.ones(4)
print("data:\n{}".format(data))



data:
[1. 1. 1. 1.]
data=np.ones(4,int)
print("data:\n{}".format(data))



data:
[1 1 1 1]

3、np.arange(n):创建一个以n为终点,起点取默认值0,步长默认值为1的数组

data=np.arange(4)
print("data:\n{}".format(data))



data:
[0 1 2 3]

4、CSR格式与COO格式

(1、sparse.csr_matrix(x)    sparse.coo_matrix(x)  用于矩阵压缩,x代表数组,输出的格式为每行非零的坐标和值

from scipy import sparse
import numpy as np

eye=np.eye(5)
sparse_matrix=sparse.csr_matrix(eye)
print("\nSciPy sparse CSR matrix:\n{}".format(sparse_matrix))



SciPy sparse CSR matrix:
  (0, 0)	1.0
  (1, 1)	1.0
  (2, 2)	1.0
  (3, 3)	1.0
  (4, 4)	1.0
from scipy import sparse
import numpy as np

eye=np.eye(5)
sparse_matrix=sparse.coo_matrix(eye)
print("\nSciPy sparse COO matrix:\n{}".format(sparse_matrix))



SciPy sparse COO matrix:
  (0, 0)	1.0
  (1, 1)	1.0
  (2, 2)	1.0
  (3, 3)	1.0
  (4, 4)	1.0

(2)、sparse.csr_matrix(data,(x,y))    sparse.coo_matrix(data,(x,y)) 与上面的结果相同

from scipy import sparse
import numpy as np

data=np.ones(4)
row_indices=np.arange(4)
col_indices=np.arange(4)
eye_coo=sparse.csr_matrix((data,(row_indices,col_indices)))
print("CSR representation:\n{}".format(eye_coo))



CSR representation:
  (0, 0)	1.0
  (1, 1)	1.0
  (2, 2)	1.0
  (3, 3)	1.0
from scipy import sparse
import numpy as np

data=np.ones(4)
row_indices=np.arange(4)
col_indices=np.arange(4)
eye_coo=sparse.coo_matrix((data,(row_indices,col_indices)))
print("COO representation:\n{}".format(eye_coo))



COO representation:
  (0, 0)	1.0
  (1, 1)	1.0
  (2, 2)	1.0
  (3, 3)	1.0

三、Matplotlib

功能:科学绘图库,生成可视化内容,如折线图、直方图、散点图

1、np.linspace(x,y,n) 用于创建一个一维数组,并且由等差数列构成,x为起始值,y为终止值,n为元素个数

import numpy as np
x=np.linspace(-10,10,10)
print("x:\n{}".format(x))



x:
[-10.          -7.77777778  -5.55555556  -3.33333333  -1.11111111
   1.11111111   3.33333333   5.55555556   7.77777778  10.        ]

2、np.sin(x),np.cos(x) 绘制函数图像

3、plt.plot(x,y,marker='x')  x=-a对应第一个特征的系数。以此类推。y=表示该系数的具体数值,marker表示用什么符号进行标记

%matplotlib inline
import matplotlib.pyplot as plt

x=np.linspace(-10,10,100)
y=np.cos(x)
plt.plot(x,y,marker="x")

四、Pandas

功能:处理分析数据的Python库,基于一种叫做DataFrame的数据结构,一个pandas DataFrame是一张表格,类似于Excel表格,pandas中包含大量用于修改表格和操作表格的办法

1、pd.DataFrame(data) 表示绘制一张表格

import pandas as pd
from IPython.display import display

data={'name':["john","anna","peter"],'age':[24,3,53]}

data_pandas=pd.DataFrame(data)
display(data_pandas)

也可在里面进行查找

import pandas as pd
from IPython.display import display

data={'name':["john","anna","peter"],'age':[24,3,53]}

data_pandas=pd.DataFrame(data)
display(data_pandas[data_pandas.age>20])

五、mglearn

功能:通常用来快速美化绘图,具体情况将在后面一 一列出

发布了16 篇原创文章 · 获赞 3 · 访问量 1105

猜你喜欢

转载自blog.csdn.net/qq_41890177/article/details/101381844