处理多维特征的输入

news/2024/7/7 20:43:47

一、多维特征输入

多维数据的输入可以看成矩阵进行运算,如下有8维的数据(N*8),进变换后形成1维的数据(N*1)

二、糖尿病数据集为例

数据说明

pregnancies: 怀孕次数
glucose:口服葡萄糖耐量试验中 2 小时的血浆葡萄糖浓度
bloodpressure:血压
skinthickness:皮下脂肪厚度,单位mm
insulin:餐后2小时血清胰岛素含量(mu U/ml )
bmi:体重指数 (体重 kg/(身高 m)^2)
diabetespedigreefunction:糖尿病谱系功能统计图 DPF
age:年龄
outcome(Y):是否患糖尿病

如示表示了空间将维的过程,从8维->6维->4维->1维。

三、代码实现

代码过程:前馈—反馈---更新

import torch.nn
import numpy as np

#dilimiter 分隔符
xy=np.loadtxt('diabetes.csv.gz',delimiter=',',dtype=np.float32)
#除去最后一列
x_data=torch.from_numpy(xy[:,:-1])
#取最后一列
y_data=torch.Tensor(xy[:,[-1]])

#继承类Module,自动会实现反向计算图
class Model(torch.nn.Module):
    #构造方法
    def __init__(self):
        super(Model, self).__init__()
        self.linear1=torch.nn.Linear(8,6)
        self.linear2=torch.nn.Linear(6,4)
        self.linear3=torch.nn.Linear(4,1)
        self.sigmoid=torch.nn.Sigmoid()


    def forward(self, x):
        x=self.sigmoid(self.linear1(x))
        x=self.sigmoid(self.linear2(x))
        x=self.sigmoid(self.linear3(x))
        return x

model=Model()

criterion=torch.nn.BCELoss(size_average=True)
optimizer=torch.optim.SGD(model.parameters(),lr=0.1)

for epoch in range(100):
    #Forward
    y_pred=model(x_data)
    loss=criterion(y_pred,y_data)
    print(epoch,loss.item())

    #Backward
    optimizer.zero_grad()
    loss.backward()
    #upDatae
    optimizer.step()




96 0.6449363231658936
97 0.6449353694915771
98 0.6449344158172607
99 0.6449335813522339


http://lihuaxi.xjx100.cn/news/125951.html

相关文章

【每天学习一点新知识】CC攻击和DDoS的区别

目录 CC攻击原理 CC攻击现象: 和DDoS的区别 CC攻击的常用防护方式 CC攻击原理 CC(Challenge Collapsar),可以归为DDoS攻击的一种,对一些消耗资源较大的应用页面不断发起正常的请求,以达到消耗服务端资源…

两个List循环效率对比 List转Map 循环效率对比 Listmap 循环 效率对比

两个List循环效率对比 List转Map 循环效率对比 Listmap 循环 效率对比 一、情景描述 1、在微服务开发中,如: 查询用户列表 userList,需要关联查询 每个用户下面的文件信息,由于数据库层隔离,不能直接进行 left join &a…

Endnote X9文献管理器应用---使用总结

Endnote文献管理器应用---使用总结1. 文献分类和文献管理器Endnote2. Endnote使用(1)新建本地文献库(2)创建分组和文献导入(3)文献插入word文档(4)文献Style编辑,下载&am…

安装 Windows 7 VM虚拟机

目录(1)选择系统安装语言,时间与格式,键盘格式(2)点击【Install now】(3)选择Windows 10系统的具体版本(4)同意【Applicable notices license terms】&#x…

盘点多边形战士Polygon有哪些扩容解决方案|Tokenview

加密行业里,以太坊扩容问题的解决方案一直是个巨大的市场。多边形战士Polygon则一直以来致力于解决以太坊的扩容问题。什么是Polygon?Polygon是以太坊的layer2扩容方案,通过提供一种通用框架来创建与以太坊相兼容的扩容解决方案,旗…

[CSP-S 2022] 策略游戏 题解

[CSP-S 2022] 策略游戏 题解题面题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样例输入 #2样例输出 #2提示解析小 Q 的选择小 L 的选择总结代码题面 题目描述 小 L 和小 Q 在玩一个策略游戏。 有一个长度为 nnn 的数组 AAA 和一个长度为 mmm 的数组 BBB&am…

EDAS 流量入口网关最佳实践

作者:澄潭 云原生网关介绍 MSE 云原生网关是阿里云提供的下一代网关解决方案,完全兼容 Kubernetes Ingress 标准 API,将流量网关、微服务网关和安全网关三合一,解决了多层网关架构独立设计、独立运维导致的资源消耗大、性能损耗…

Spring学习第1篇:学习spring必备的概念知识

大家家好,我是一名网络怪咖,北漂五年。相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知Spring重要性,现在普遍都使用SpringBoot来开发,面试的时候SpringBoot原理也是经常会问到&…