以下是一个可能的解决方案,使用Python和Scikit-learn库来训练一个分类模型,并观察训练集和验证集的准确率(ACC)的变化。
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 假设你的训练数据是一个特征矩阵X和对应的标签向量y
# 这里假设X的形状是 (n_samples, n_features)
# 假设y的形状是 (n_samples,)
# 将数据集分为训练集和验证集
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42)
# 初始化一个逻辑回归模型
model = LogisticRegression()
# 存储每个时期的训练集ACC和验证集ACC
train_accs = []
val_accs = []
# 逐个时期进行训练和验证
for epoch in range(num_epochs):
# 在训练集上训练模型
model.fit(X_train, y_train)
# 在训练集和验证集上进行预测
train_preds = model.predict(X_train)
val_preds = model.predict(X_val)
# 计算ACC并存储
train_acc = accuracy_score(y_train, train_preds)
val_acc = accuracy_score(y_val, val_preds)
train_accs.append(train_acc)
val_accs.append(val_acc)
# 打印训练集ACC和验证集ACC的变化
print("训练集ACC:", train_accs)
print("验证集ACC:", val_accs)
这个代码示例中,我们首先将数据集分为训练集和验证集,然后使用逻辑回归模型进行训练和验证。在每个时期结束时,我们计算训练集和验证集上的预测准确率,并将它们存储在列表中。最后,我们打印出训练集ACC和验证集ACC的变化。观察这些变化可以帮助我们了解模型的训练情况以及验证集上的性能表现。