1.数据集
用于回归预测的数据集为波士顿房价预测问题的数据集,它是回归问题的一个经典数据集。数据集中,有13个影响房价的因素,因此每个样本维度为13。数据集一共包含506个样本,因此数据集的数据样本维度为(506,13),数据集的目标维度为(506,1)。
调用sklearn库可以方便的下载该数据集。
from sklearn.datasets import load_boston
dataset=load_boston()
x_data=dataset.data
y_data=dataset.target
n_data=dataset.feature_names
其中,x_data维度为(506,13),y_data维度为(506,1),n_data维度为(1,13)。
2.数据预处理
将506个样本数据分成训练集、验证集和测试集三部分。
训练前对数据进行预处理,先将数据进行标准化,再将数据由原始的numpy格式转化为tensor.cuda格式,以便在GPU上训练和测试。
def normalize(x_data, mean, deviation):
std = (x_data - mean) / deviation
return std
#1.Load the train datasets and test datasets
dataset=load_boston()
mean = dataset.data.mean()
deviation = dataset.data.std()
train_target=dataset.target[:416]
train_target=torch.from_numpy(train_target)
train_data=dataset.data[:416]
train_data=normalize(train_data, mean, deviation)
train_data=torch.from_numpy(train_data)
train_dataset = TensorDataset(train_data, train_target)
train_loader = DataLoader(train_dataset,batch_size=32,shuffle=True,num_workers=4)
test_target=dataset.target[416:480]
test_target = torch.from_numpy(test_target)
test_data=dataset.data[416:480]
test_data=normalize(test_data, mean, deviation)
test_data=torch.from_numpy(test_data)
test_dataset = TensorDataset(test_data, test_target)
test_loader = DataLoader(test_dataset,batch_size=32,shuffle=False,num_workers=0)
3.模型初始化
#2.Initialize model
cuda_avail = torch.cuda.is_available()
model = SimpleNet()
if cuda_avail:
model.cuda()
4.定义优化器和损失函数
#3. Define the optimizer and loss function
optimizer = Adam(model.parameters(), lr=0.001

本文介绍了一种基于BP神经网络的回归应用,以波士顿房价预测问题为例。首先,数据集包括13个影响因素,共506个样本。接着,数据被划分为训练集、验证集和测试集,并进行标准化处理。然后,模型初始化,定义了优化器和损失函数。最后,进行了迭代训练,并提供了完整的代码实现。
最低0.47元/天 解锁文章
1934

被折叠的 条评论
为什么被折叠?



