使用TensorFlow实现逻辑回归:从训练到模型保存与加载

1. 引入必要的库

首先,需要引入必要的库。TensorFlow用于构建和训练模型,pandas和numpy用于数据处理,matplotlib用于结果的可视化。

python 复制代码
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import SGD
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

2. 加载自定义数据集

假设有一个CSV文件custom_dataset.csv,其中包含特征(自变量)和标签(因变量)。使用pandas来加载数据,并进行预处理。

python 复制代码
# 加载自定义数据集
data = pd.read_csv('custom_dataset.csv')

# 假设数据集中有多列特征和一个二分类标签
X = data.iloc[:, :-1].values.astype(np.float32)  # 特征
y = data.iloc[:, -1].values.astype(np.float32)   # 标签

# 将标签转换为0和1
y = np.where(y == 'positive', 1, 0)

3. 构建逻辑回归模型

使用TensorFlow的Keras接口来构建逻辑回归模型。

python 复制代码
# 构建逻辑回归模型
model = Sequential([
    Dense(1, activation='sigmoid', input_shape=(X.shape[1],))
])

# 编译模型
model.compile(optimizer=SGD(learning_rate=0.01), loss='binary_crossentropy', metrics=['accuracy'])

4. 训练模型

使用自定义数据集训练模型。

python 复制代码
# 训练模型
history = model.fit(X, y, epochs=100, batch_size=32, verbose=1)

5. 保存模型

训练完成后,可以使用TensorFlow的save方法保存模型。

python 复制代码
# 保存模型
model.save('logistic_regression_model.h5')

6. 加载模型并进行预测

在需要时,可以使用TensorFlow的load_model方法加载模型,并进行预测。

python 复制代码
# 加载模型
from tensorflow.keras.models import load_model

loaded_model = load_model('logistic_regression_model.h5')

# 进行预测
predictions = loaded_model.predict(X[:5])
predicted_labels = (predictions > 0.5).astype(int)

print("Predicted Labels:", predicted_labels.flatten())

7. 结果可视化

可以绘制训练过程中的损失和准确率变化曲线,以帮助理解模型的性能。

python 复制代码
# 绘制训练和验证的损失曲线
plt.plot(history.history['loss'], label='Loss')
plt.title('Model Loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()

# 绘制训练和验证的准确率曲线
plt.plot(history.history['accuracy'], label='Accuracy')
plt.title('Model Accuracy')
plt.xlabel('Epochs')
plt.ylabel('Accuracy')
plt.legend()
plt.show()
相关推荐
小白狮ww几秒前
abaqus 算例教程:考虑动水压力的 koyna 地震非线性动力响应分析
人工智能·深度学习·机器学习·abaqus·材料科学·工程模拟·混凝土抗震分析
HyperAI超神经几秒前
预测精度可提升60%,清华李勇团队提出神经符号回归方法,自动推导高精度网络动力学公式
人工智能·ai·数据挖掘·地球科学·神经符号
gorgeous(๑>؂<๑)1 分钟前
【清华大学-MM25】Open3D VQA:面向无人机开放空间的多模态大语言模型空间推理基准
人工智能·语言模型·自然语言处理·无人机
沛沛老爹3 分钟前
Web开发者进阶AI Agent:LangChain提示词模板与输出解析器实战
人工智能·ai·langchain·llm·agent·提示词·web转型
智航GIS4 分钟前
ArcGIS大师之路500技---036通俗易懂讲解克里金法
人工智能·算法·arcgis
鹤入云霄4 分钟前
机器学习笔记
人工智能·机器学习
小白狮ww7 分钟前
当 OCR 模型开始「理解整页文档」:HunyuanOCR 的端到端之路
人工智能·深度学习·机器学习·ocr·文字识别·文档处理·腾讯混元
斯文by累11 分钟前
# Kurator:一站式分布式云原生平台的构建与实践指南
人工智能
文心智能体平台Agentbuilder13 分钟前
行业智能体变现指南-信息技术专题
人工智能·aigc·智能体·行业智能体·自然语言开发·数字人智能体
haiyu_y19 分钟前
day 44 简单 CNN 实战
人工智能·神经网络·cnn