mark:
conda info —env 查看当前的环境
conda activate tensorFlow 进入环境
jupyter notebook 进入 jupyter notebook
conda deactivate 退出环境

一些常见的名词的范围是:
人工智能(AI) > 机器学习 > 深度学习

numpy

numpy 是一个 python 的库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
关于数据类型,他可以自定义,比如:

  1. import numpy as np
  2. student = np.dtype([('name','S20'),('age','i1'),('marks','f4')])
  3. student1 = np.array([('yichen',21,100),('writeup',20,98)],dtype=student)
  4. print(student1)

这样会按照 student 这个结构化数据类型应用到 student1 这里
image.png

创建一个两行四列的数组,并且用 1 来填充,如果向用 0 的话就是 zeros,默认数据类型是浮点数,可以后面加上 dtype=int 设置为整形

  1. import numpy as np
  2. np.ones(shape=(2, 4), dtype=int)

image.png

广播是 numpy 对不同形状的数组进行数值计算的方式,比如加法广播,直接在原来 [[1 1 11] [1 1 1 1]] 的基础上加上 [1 2 3 4]

image.png
image.png

reshape,在不改变数据的情况下改变形状

  1. #产生一个3位数组,(2,3,4),2个平面,每个平面都是3行4列
  2. a = np.arange(24).reshape(2, 3, 4)
  3. print(a)

image.png

可以用 random 来产生随机浮点数

  1. np.random.random(size=(3,4))

image.png

一些取值的方法

  1. import numpy as np
  2. a = np.arange(12).reshape(3, 4)
  3. print(a)
  4. print(a[1:3, :])#取第12行的所有列
  5. print(a[:, 1])#取每一行的第一列

image.png

将类型转换为浮点型

  1. import numpy as np
  2. a = np.arange(12).reshape(3, 4)
  3. print(a)
  4. print(a.astype(float))

image.png

转为布尔型,然后就可以用它来取值了

  1. import numpy as np
  2. a = np.arange(9).reshape(3, 3)
  3. print(a)
  4. mask = np.array([[0,1,0], [1,1,1], [0,1,0]], dtype = bool)
  5. print(mask)
  6. zero = np.zeros(shape=(3,3), dtype=int)
  7. print(zero)
  8. zero[mask]=a[mask]
  9. print(zero)

image.png

用来求最大值

  1. import numpy as np
  2. a = np.random.random(size=(4,4))
  3. print(a)
  4. max = np.max(a) #找到最大值
  5. print(max)
  6. index = np.argmax(a) #找到最大值所对应的索引号
  7. print(index)
  8. max_row = np.max(a, axis = 1) #求解每一行的最大值
  9. print(max_row)
  10. max_col = np.max(a, axis = 0) #求解每一列的最大值
  11. print(max_col)

image.png

matplotlib

Matplotlib 是 Python 的绘图库

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. y = np.random.random(5)
  4. print(y)
  5. plt.plot(y)#只有一个的话x轴默认1234...
  6. plt.show()

image.png

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. y1 = np.random.random(10)
  4. y2 = np.random.random(10)
  5. x1 = range(10)
  6. plt.plot(x1, y1)
  7. plt.plot(x1, y2)
  8. plt.show()

image.png

后面加上 linewidth = 3 可以加粗

image.png

'ro-' 可以改颜色以及线条的类型

image.png

把图分成好多个而不是在一个中
subplot,三个参数分别是子图的行数、子图的列数、当前子图的 id
1 2
3 4
image.png

在后面加上 label='log(2x+1)' 设置显示标签
plt.legend(loc=’upper left’) 设置标签显示的位置

image.png

展示网格线与标题

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. plt.xticks(np.arange(10))#设置网格线数量
  4. plt.grid(True)#展示网格线
  5. y1 = np.random.random(10)
  6. x1 = range(10)
  7. plt.plot(x1, y1)
  8. plt.title('random')#标题
  9. plt.show()

image.png

pandas

使用 pandas 可以读取表格文件

  1. import pandas as pd
  2. col_names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV']
  3. #read_csv() arg1:要读取的文件路径及名称 arg2:列名称 arg3:列之间的间隔 arg4:添加的列信息
  4. data = pd.read_csv('data.csv', header=None, sep=r'\s+', names = col_names)
  5. data

image.png

data.head() 默认查看前五行,可以在里面加上个数 data.head(10) 查看前十行
data.tail() 一样,从后面开始数
data.describe() 可以获得一些统计信息

image.png

data.info() 可以获得表格的信息

配合 绘制折线图

image.png

直方图

image.png

累计直方图

image.png

散点图

image.png