1 基本概念
1.1 人工智能简介

1.2 人工智能三要素
数据
算法
算力

1.3 人工智能主要3个分支

2 机器学习
2.1 机器学习

2.2 机器学习工作流程




2.3 机器学习分类



3 matpoltlib
3.1 基本绘图要素

3.2 绘图3步
import matplotlib.pyplot as plt
# 1 创建画布
plt.figure()
# 2. 绘制图像
plt.plot([1,2,3,4,5,6,7],[23,34,32,25,34,25,27])
# 3.图像显示
plt.show()
3.3 常用的函数
添加x,y轴刻度【知道】
plt.xticks()
plt.yticks()
注意:在传递进去的第一个参数必须是数字,不能是字符串,如果是字符串吗,需要进行替换操作
添加网格显示【知道】
plt.grid(linestyle="–", alpha=0.5)
添加描述信息【知道】
plt.xlabel()
plt.ylabel()
plt.title()
图像保存【知道】
plt.savefig(“路径”)
多次plot【了解】
直接进行添加就OK
显示图例【知道】
plt.legend(loc=“best”)
注意:一定要在plt.plot()里面设置一个label,如果不设置,没法显示
多个坐标系显示【了解】
plt.subplots(nrows=, ncols=)
折线图的应用【知道】
1.应用于观察数据的变化
2.可是画出一些数学函数图像
4 Numpy数组
这节再看一下黑马课程的课件掌握的更好
在对numpy数组进行操作的时候,千万记住需要检查一下有没有改变原数组,大多数方法不改变原数组,返回新数组,少数方法改变了元素中,比如下面的reshape和resize


4.1 存储效率高
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。
ndarray的计算速度要快很多,比python的列表list节约了时间。
ndarray的优势【掌握】
内存块风格
list – 分离式存储,存储内容多样化,存的是数据地址
ndarray – 一体式存储,存储类型必须一样,直接存数据
ndarray支持并行化运算(向量化运算)
ndarray底层是用C语言写的,效率更高,释放了GIL

4.2 理解维度(很重要,很简单)
很重要
很重要
很重要
重要的事情说3遍

第一个2代表有2个2维数组
第二个2代表有2个1维数组
第三个3代表1维数组有几个数

4.3 生成数组方式
1.1 生成0和1的数组
np.ones(shape, dtype)
np.ones_like(a, dtype)
np.zeros(shape, dtype)
np.zeros_like(a, dtype)

1.3 生成固定范围的数组
1.3.1 np.linspace (start, stop, num, endpoint)
创建等差数组 — 指定数量
参数:
start:序列的起始值
stop:序列的终止值
num:要生成的等间隔样例数量,默认为50
endpoint:序列中是否包含stop值,默认为ture
1.3.2 np.arange(start,stop, step, dtype)
创建等差数组 — 指定步长
参数
step:步长,默认值为1
1.3.3 np.logspace(start,stop, num)
创建等比数列
参数:
num:要生成的等比数列数量,默认为50
1.4 生成随机数组
1.4.1 使用模块介绍
np.random模块
二、正态分布创建方式
np.random.randn(d0, d1, …, dn)
功能:从标准正态分布中返回一个或多个样本值
np.random.normal(loc=0.0, scale=1.0, size=None)
loc:float
此概率分布的均值(对应着整个分布的中心centre)
scale:float
此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
size:int or tuple of ints
输出的shape,默认为None,只输出一个值
np.random.standard_normal(size=None)
返回指定形状的标准正态分布的数组。
1.4.2 均匀分布
np.random.rand(d0, d1, …, dn)
返回[0.0,1.0)内的一组均匀分布的数。
np.random.uniform(low=0.0, high=1.0, size=None)
功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.
参数介绍:
low: 采样下界,float类型,默认值为0;
high: 采样上界,float类型,默认值为1;
size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出mnk个样本,缺省时输出1个值。
返回值:ndarray类型,其形状和参数size中描述一致。
np.random.randint(low, high=None, size=None, dtype=‘l’)
从一个均匀分布中随机采样,生成一个整数或N维整数数组,
取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。
4.4 数组的基本操作
4.4.1 切片

把上一节的理解维度搞清楚了就很好理解


4.4.2 形状改变
就是拉平了再变换
reshape和resize区别
原数组.reshape(new_shape)以及np.reshape(原数组,new_shape) 都不改变原数组,返回一个新的数组。但是一定要注意,原数组和新数组的元素个数一定要一样。
————
原数组.resize(new_shape)会改变原数组,无返回值。np.resize(原数组,new_shape) 不改变原数组,返回一个新的数组。但是注意,原数组和新数组元素个数可以不一样。
import numpy as np
stock_change = np.array([[ 0.0476585 , 0.32421568, 1.50062162, 0.48230497, -0.59998822],
[-1.92160851, 2.20430374, -0.56996263, -1.44236548, 0.0165062 ],
[-0.55710486, -0.18726488, -0.39972172, 0.08580347, -1.82842225],
[-1.22384505, -0.33199305, 0.23308845, -1.20473702, -0.31753223]])
print(stock_change.shape)
stock_change.reshape([5,4])
# 发现数组并没有变化
print(stock_change)
print(stock_change.shape)

4.4.3 类型改变
4.5 逻辑运算
BOOL赋值, 将满足条件的设置为指定的值-布尔索引
test_score[test_score > 60] = 1
4.6 统计运算


4.7 数组间运算
加减乘除
5 Pandas
很重要
很重要
很重要
重要的事情说3遍
axis=0代表的是安列运算,比如求出每列的最大值
axis=1代表的是安行运算,

专门用于数据挖掘的开源python库
以Numpy为基础,借力Numpy模块在计算方面性能高的优势
基于matplotlib,能够简便的画图
独特的数据结构,相当于在Numpy的基础上加了索引
下面的这种形式

5.1 创建

Pandas中一共有三种数据结构,分别为:Series、DataFrame和MultiIndex(老版本中叫Panel )。
其中Series是一维数据结构,DataFrame是二维的表格型数据结构,MultiIndex是三维的数据结构。
5.2 索引

5.3 基础运算

5.4 pandas画图
了解
5.5 pandas文件操作

5.5 缺失值分组替换
5.6 交叉表透视表

5.7 分组聚合

6 Seaborn
一个高级绘图工具

7 代码
7.1 matplotlib的基础功能
# 基础功能图像实现
import matplotlib.pyplot as plt
import random
# 0.准备基本数据
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(12,14) for i in x]
# 1 创建画布
plt.figure(figsize=(20,8), dpi=100)
# 2. 绘制图像
plt.plot(x,y_shanghai,label="shanghai")
# 2.1多次绘制直线
plt.plot(x,y_beijing,color = "r", linestyle="--",label="beijing")
# 2.2 添加x,y基本刻度,这里没加黑体,所以汉字显示不出来
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::5])
# 2.3
plt.grid(True, linestyle = "--", alpha = 0.5)
# 2.4
# 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点城市温度变化图", fontsize = 20)
# 2.5
plt.legend(loc="best")
# 保存图像,一定要在show之前
plt.savefig("./test.png")
# 3.图像显示
plt.show()
7.2 matplotlib显示多个坐标系
# 基础功能图像实现
import matplotlib.pyplot as plt
import random
# 0.准备基本数据
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x]
y_beijing = [random.uniform(12,14) for i in x]
# 1 创建画布
# plt.figure(figsize=(20,8), dpi=100)
"""
fig = plt.figure()
fig.add_subplt(111)
# 下面这行代码和上面两行代码的作用一样
fig,ax = plt.subplots()
"""
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20,8), dpi=100)
# 2. 绘制图像
axes[0].plot(x,y_shanghai,label="shanghai")
# 2.1多次绘制直线
axes[1].plot(x,y_beijing,color = "r", linestyle="--",label="beijing")
# 2.2 添加x,y基本刻度,这里没加黑体,所以汉字显示不出来
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
plt.xticks(x[::5])
plt.yticks(y_ticks[::5])
# 3.图像显示
plt.show()
7.3 pandas的基本使用
import pandas as pd
import numpy as np
se1 = pd.Series(np.arange(9))
print(se1)
# pd.DataFrame
score = np.random.randint(40, 100, (10, 5))
# 构造行索引序列
subjects = ["语文", "数学", "英语", "政治", "体育"]
# 构造列索引序列
stu = ['同学' + str(i) for i in range(score.shape[0])]
# 添加行索引
data = pd.DataFrame(score, columns=subjects, index=stu)
print(data.shape)
print(data)
print(data.index)
print(data.columns)
# MultiIndex
arrays = [[1, 1, 2, 2], ['red', 'blue', 'red', 'blue']]
pd1 = pd.MultiIndex.from_arrays(arrays, names=('number', 'color'))
print(pd1)
print(pd1.levels)
print("level结束")
print(pd1.names)
print("names结束")
print(pd1[0])
7.4 seaborn的使用
# seaborn进行基本图形绘制
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
np.random.seed(0)
arr = np.random.randn(100)
sns.distplot(arr,bins=10,hist=True, kde=True, rug=True)
plt.show()
print(arr)
# 创建Dataframe对象
dataframe_obj = pd.DataFrame({"x":np.random.randn(500),"y":np.random.randn(500)})
print(dataframe_obj.head())
# 核密度估计图
sns.jointplot(x="x", y="y", data=dataframe_obj, kind="kde")
plt.show()
# 直方图
sns.jointplot(x="x", y="y", data=dataframe_obj, kind="hex")
plt.show()
dataset = sns.load_dataset("iris")
print(dataset.head())
sns.pairplot(dataset)
plt.show()
本文介绍了人工智能的基本概念,包括数据、算法和算力三要素,以及机器学习的工作流程和分类。重点讲解了matplotlib库的绘图步骤和常用函数,强调了numpy数组的高效存储和操作,如切片、形状改变和类型转换。此外,还涵盖了pandas数据结构和基础操作,以及seaborn高级绘图工具的使用。
&spm=1001.2101.3001.5002&articleId=114434238&d=1&t=3&u=2a4d503bd5c84329a1b8312875c1de2a)
3万+

被折叠的 条评论
为什么被折叠?



