机器学习day5

时间:2025-02-04 17:35:23

自定义数据集 使用tensorflow框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测

代码

import tensorflow as tf
import numpy as np

# 1. 自定义数据集
data = [[-0.5, 7.7], [1.8, 98.5], [0.9, 57.8], [0.4, 39.2], [-1.4, -15.7], 
        [-1.4, -37.3], [-1.8, -49.1], [1.5, 75.6], [0.4, 34.0], [0.8, 62.3]]
data = np.array(data)

# 提取特征和标签
x_data = data[:, 0]
y_data = data[:, 1]

# 转换为 TensorFlow 张量
x_train = tf.constant(np.expand_dims(x_data, axis=1), dtype=tf.float32)
y_train = tf.constant(y_data, dtype=tf.float32)

# 创建数据集并进行批处理、打乱、预取
dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
dataset = dataset.shuffle(buffer_size=10)
dataset = dataset.batch(2)
dataset = dataset.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)

# 2. 定义逻辑回归模型
model = tf.keras.Sequential([tf.keras.layers.Dense(1, input_shape=(1,))])

# 3. 定义损失函数和优化器
optimizer = tf.keras.optimizers.SGD(learning_rate=0.01)
model.compile(optimizer=optimizer, loss="mean_squared_error")

# 4. 训练模型
epochs = 500
history = model.fit(x_train, y_train, epochs=epochs)

# 5. 保存模型
# 方式1: 保存整个模型 (包括模型结构、权重和训练配置)
model.save('./my_model.h5')