第5章 机器学习库
机器学习算法的通用步骤:
数据采集,数据预处理,数据清洗,建模,测试
[TOC]
1.Numpy库
用于高性能科学计算和数据分析,是常用的高级数据分析库的基础包
A.numpy的安装
输入命令:pip3 install numpy
在终端中输入:which python3可以获取到系统python的位置
在PyCharm中设置Preferences->Project->Project Interpreter->设置->Add,添加python地址
在PyCharm中设置Run->Edit Configurations,解释器选择刚刚添加的解释器
B.numpy的使用
- numpy.array(?)传入一个列表,返回一个被numpy封装过的列表,计算的效率远远高于python自带的列表
- numpy.array(?).dtype返回列表中的数据类型
- numpy.array(?) + numpy.array(?)可以实现列表的累加
1 | import numpy as np |
C.numpy数组和标量的计算
- numpy数组可以直接和标量进行计算
- numpy.zeros((3,4))定义一个3行4列全部为0的矩阵
- numpy.ones((4,5))定义一个4行5列的全部为1的矩阵
- numpy.empty((2,3,2))定义一个3维矩阵,矩阵全部设置为空值对程序计算是不安全的,会随机填入空值
1 | import numpy as np |
D.numpy数组的索引和切片
- numpy.arange(start,stop,step),和python的range()功能相似,产生一个数组,下标索引从0开始计算
1 | import numpy as np |
2.Pandas库
用于进行数据的预处理和数据的清洗
A.pandas的安装
在终端中输入:pip3 install pandas
B.Series
- Series就是对numpy的array进行了封装,自动添加了索引
- 单独取出索引可以用Series.index
- 单独取出值可以用Series.value
1 | from pandas import Series |
- 可以自定义索引值,而且pandas
- 可以通过索引进行赋值
1 | from pandas import Series |
- 索引可以进行相应的修改
1 | from pandas import Series |
- Series.reindex(index,fill_value,method=”ffill,bfill”)index表示索引,fill_value表示用于填充缺失值的数,ffill用前面的值填充,bfill表示用后面的值进行填充
1 | from pandas import Series |
- Series.dropna()可以删除缺失值
1 | from numpy import nan as NA |
C.DataFrame
多维数组的处理
- DataFrame()添加参数columns=可以对列进行位置排序(列的位置替换,非列里面进行排序)
- DataFrame[‘key’]或者DataFrame.key可以根据key值获取到对应列的数据
- DataFrame[‘newkey’]=?可以添加新的列
1 | from pandas import DataFrame |
- DataFrame.T可以将数据的行和列进行反转
1 | from pandas import DataFrame |
- DataFrame.dropna()可以删除多维数组的缺失值
- 添加参数how=’all’只删除整行都是缺失值的数据,部分缺失值的可以保留
- 添加参数axis=1,删除一整列都是缺失值的数据
1 | from pandas import DataFrame |
- DataFrame.fillna(x)将数据中所有的缺失值都用x进行填充,如果需要直接修改的话,需要添加inplace=True,如果不添加直接填充的副本
1 | from pandas import DataFrame |
3.层次化索引
- Series.unstack(),可以将数据转换为DataFrame
- DataFrame.stack(),可以将数据转换为Series
1 | import numpy as np |
4.Matplotlib的安装与绘图
在终端输入:pip3 install matplotlib进行安装
然后再py文件中引入:import matplotlib.pyplot as plt
1.plt.plot()绘制一条曲线
1 | plt.plot([1, 3, 5], [5, 8, 9]) |
2.Matplotlib绘制numpy和pandas里面的数据
1 | x = np.linspace(-np.pi, np.pi, 100)#定义域为-π到π,平均取100个点 |
3.绘制多条曲线
1 | y = np.linspace(-np.pi * 2, np.pi * 2, 100) |
4.绘制直方图(hist)
1 | plt.figure(1, dpi=50) # 创建图表1,精度50 |
5.绘制散点图(scatter)
1 | x = np.arange(1, 10) |
4.Pandas和Matplotlib结合使用
1 warnings.filterwarnings('ignore')#可以忽略运行时的warning
1.pandas读取csv并绘制散点图
1 | iris = pd.read_csv("./iris_training.csv") |
2.seaborn安装和使用
安装方法:pip3 install seaborn
导入方法:import seaborn as sns
- seabrorn可以直接使用的主题:darkgrid,whitegrid,dark,white,和ticks,默认为darkgrid
1 | iris = pd.read_csv("./iris_training.csv") |
1 | iris = pd.read_csv("./iris_training.csv") |
5.Tensorflow库
安装方法:pip3 install tensorflow