TensorFlow 相关内容学习与归纳(一)[施工中]

2020-05-08   79 次阅读


前言

学着玩
此次归纳中使用的tensorflow版本是最新的2.2.0,大佬们可以在控制台中输入
pip install --upgrade --user tensorflow
来进行更新,记住要挂ladder,四百多兆
安装的话要咋输入就不用我说了吧
涉及知识 tensorflow,pandas,numpy,matplotlib
30天学习TensorFlow

这里面的python代码都是在Jupiter notebook中进行编辑的,因此在pycharm中(比如我)运行的人来说可能要注意修改
比如%matplotlib inline这种,多使用谷歌百度

归纳的知识比较零散(因为是看到什么不懂的就查询什么,因此会比较凌乱)

① pandas

处理CSV数据

pd.read_csv()

该函数用于读取.csv文件中的数据,并存储到一个变量中

dftest_raw = pd.read_csv('./data/titanic/test.csv')
print(dftest_raw)

csv文件excel预览
print输出结果

用于限制读取的行数,比如.head(5),这样不管总数据有多少行(>5),最终返回的结果也都会是5行

dftest_raw = pd.read_csv('./data/titanic/test.csv')
print(dftest_raw.head(10))

3.PNG

query()查询

可以用于对读取的csv文件根据给定得条件进行查询
以上面的数据为例
查询性别为女性的乘客
dftest_raw.query("Sex=='female'")
泰坦尼克号测试数据中的女性乘客

查询Embarked为S的乘客
print(dftest_raw.query("Embarked=='S'"))
泰坦尼克号测试数据中Embarked为S的乘客

提取特定列
可通过类似字典的方式来提取特定列
提取Embarked为S的乘客的Id
print(dftest_raw.query("Embarked=='S'")["PassengerId"])

Embarked为S的乘客的Id

特征提取 pd.get_dummies()

one-hot encoding
可以看这个链接里的讲解感觉不错:特征提取
就是将一组特征抽象成多种不同的状态,one-hot编码保证每一个取值只会使得一种状态处于激活态

参考泰坦尼克号测试数据初始输出(上面有给出图片)
这里运行print(pd.get_dummies(dftest_raw["Embarked"]))
得到输出
7.PNG
相当于将embarked这个特征抽象成了三种状态(因为该特征只有三种取值)

属性 dummy_na

该属性用来决定是否将特征中的缺失值也抽象为单独的一项状态,ture为是,否则不

DataFrame pd.DataFrame()

DataFrame是Python中Pandas库中的一种数据结构,是一种类似excel的二维表
初始化二维表
testdf= pd.DataFrame()

  • 这种数据结构既有行索引,也有列索引,可以看作是Series组成的字典

连接 pd.concat()

用于连接两个数据集
使用范例(横向连接)
pd.concat([test1, test2], axis=0)

而当 axis = 1 时,为纵向连接
print(pd.concat([dftest_raw["Embarked"],dftest_raw["Sex"]],axis=1))
横向连接就不放图了
上述代码就是将泰坦尼克号测试数据中的Embarked列数据集和Sex列数据集进行了纵向连接
8.PNG

数据判断

pd.isna()

可用于检测数据集是否为缺失值
返回的是一个布尔数组
这里的样例使用了泰坦尼克号数据中的Age列数据
print(pd.isna(dftest_raw["Age"]))

Age原数据
返回结果
可以看到在数据缺失对应下标的位置返回的布尔值为true,代表数据缺失

② matplotlib

③ numpy

④ TensorFlow

核心概念

是一个采用数据流图(data flow graphs),用于数值计算的开源软件库

  • 节点(Nodes)代表数学操作
  • 线(edges)表示节点间相互联系的多维数据数组 ,也就是张量

主要优点

  • 灵活性:支持底层数值计算,

结构化数据建模流程

  • 准备数据
  • 定义模型
    使用Keras接口,有三种方式构建模型
    • 使用Sequential按层顺序构建模型(最简单,按层顺序模型)
    • 使用函数式API构建任意结构模型
    • 继承Model基类构建自定义模型
  • 训练模型
    • 内置fit方法(最简单,最常用)
    • 内置train_on_batch方法
    • 自定义训练循环
  • 评估模型
  • 使用模型
  • 保存模型

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议