R语言将多分类数据集转化为二分类数据集,使用条件判断将多分类转化为二分类(transform dataset into a dichotomous factor response dataset)

好的,以下是一个简单的 使用 PaddlePaddle 实现数据格式为二维矩阵的14类目的 分类_网络的示例代码: python import paddle import paddle.nn.functional as F # 定义网络结构 class Net(paddle.nn.Layer): def __init__(self): super(Net, self).__init__() self.fc1 = paddle.nn.Linear(28*28, 512) self.fc2 = paddle.nn.Linear(512, 256) self.fc3 = paddle.nn.Linear(256, 14) def forward(self, x): x = paddle.flatten(x, start_axis=1, stop_axis=-1) x = F.relu(self.fc1(x)) x = F.relu(self.fc2(x)) x = self.fc3(x) return x # 定义训练和测试函数 def train(model, train_loader, optimizer): model.train() for batch_id, data in enumerate(train_loader()): x_data = data[0] y_data = paddle.to_tensor(data[1]) y_data = paddle.nn.functional.one_hot(y_data, num_classes=14) logits = model(x_data) loss = paddle.nn.functional.binary_cross_entropy_with_logits(logits, y_data) avg_loss = paddle.mean(loss) if batch_id % 100 == 0: print("epoch: {}, batch_id: {}, loss is: {}".format(epoch, batch_id, avg_loss.numpy())) avg_loss.backward() optimizer.step() optimizer.clear_grad() def test(model, test_loader): model.eval() correct = 0 total = 0 for data in test_loader(): x_data = data[0] y_data = paddle.to_tensor(data[1]) y_data = paddle.nn.functional.one_hot(y_data, num_classes=14) logits = model(x_data) pred = F.sigmoid(logits) pred = paddle.argmax(pred, axis=1) total += y_data.shape[0] correct += (pred == paddle.argmax(y_data, axis=1)).numpy().sum() acc = correct / total print("test accuracy: {}".format(acc)) # 加载数据 train_ _dataset_ = paddle.vision. _dataset_s.MNIST(mode='train') test_ _dataset_ = paddle.vision. _dataset_s.MNIST(mode='test') train_loader = paddle.io.DataLoader(train_ _dataset_, batch_size=32, shuffle=True) test_loader = paddle.io.DataLoader(test_ _dataset_, batch_size=32, shuffle=False) # 创建模型和优化器 model = Net() optimizer = paddle.optimizer.Adam(parameters=model.parameters()) # 训练和测试模型 EPOCH_NUM = 5 for epoch in range(EPOCH_NUM): train(model, train_loader, optimizer) test(model, test_loader) 这里 _使用_了 MNIST _数据集_作为示例 _数据集,模型结构为三层全连接层(FC),分别为 512、256 和 14 个神经元。在训练和测试过程中, _使用_了二元交叉熵损失(binary_cross_entropy_with_logits)和准确率作为评估指标。

Original: https://blog.csdn.net/zhongkeyuanchongqing/article/details/122642302
Author: Data+Science+Insight
Title: R语言将多分类数据集转化为二分类数据集,使用条件判断将多分类转化为二分类(transform dataset into a dichotomous factor response dataset)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/666246/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球