1、tensorflow-keras简介
- keras是基于python的高级神经网络API
- tensorflow-keras是tensorflow对keras API规范的实现
- 实现在tf.keras下
2、keras实现线性回归
线性回归中 relu作为激活函数,均方差mse作为损失函数
import tensorflow as tfimport pandas as pd# 获取数据data = pd.read_csv('./dataset/Adversting.csv')# 取出变量和label值x = data.iloc[:, 1:-1]y = data.iloc[:, -1]# 建立顺序模型model = tf.keras.Sequential([tf.keras.labels.Dense(10, input_shape(10,), activation="relu"),tf.keras.labels.Dense(1)])# 查看模型的总体情况model.summary()# 对模型进行优化编译model.compile(optimizer="adam", loss="mse")# 开始训练模型model.fit(epochs=100)# 预测test = data.iloc[:10, 1:-1]predict = model.predict()
3、keras实现二分类的逻辑回归
sigmoid激活函数一般用 二元交叉熵作为损失函数 binary_crossentropy
import tensorflow as tfimport pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv('./dataset/credit-a.csv', header=None)# 获取数据x = data.iloc[:, 0:-1]# 用replace方法替换-1y = data.iloc[:, -1].replace(-1, 0)# 定义模型model = tf.keras.Sequential()# 给模型里面添加层model.add(tf.keras.layers.Dense(4, input_shape=(15,), activation="relu"))model.add(tf.keras.layers.Dense(4, activation="relu"))model.add(tf.keras.layers.Dense(1, activation="sigmoid"))# 查看模型总体情况# model.summary()# 对模型进行编译 metrics=["acc"]表示输出正确率model.compile(optimizer="adam",loss="binary_crossentropy",metrics=["acc"])# 这里的histroy 是一个dict里面存放了一些信息history = model.fit(x, y, epochs=100)# print(history.history.keys())# 通过plt进行绘图plt.plot(history.epoch, history.history.get('loss'))plt.show()
4、softmax实现多分类逻辑回归
softmax作为激活函数一般可以用 categorical_crossentropy 和 sparse_categorical_crossentropy作为损失函数
