超简单的神经网络构建方法,你上你也行( 三 )
本文插图
模型评估
在评估过程中 , 欲以某种方式持续追踪模型做出的预测 。 需要迭代 X_test并进行预测 , 然后将预测结果与实际值进行比较 。
这里将使用 torch.no_grad() , 因为只是评估而已——无需更新权重和偏置 。
总而言之 , 代码如下:
preds = []with torch.no_grad(): for val in X_test: y_hat = model.forward(val) preds.append(y_hat.argmax().item())
现在预测结果被存储在 preds阵列 。 可以用下列三个值构建一个Pandas DataFrame 。
· Y:实际值
· YHat: 预测值
· Correct:对角线 , 对角线的值为1表示Y和YHat相匹配 , 值为0则表示不匹配
代码如下:
df = pd.DataFrame({'Y': y_test, 'YHat':preds})df['Correct'] = [1 if corr == pred else 0 for corr, pred in zip(df['Y'],df['YHat'])]
df 的前五行如下图所示:
本文插图
下一个问题是 , 实际该如何计算精确度呢?
很简单——只需计算 Correct列的和再除以 df的长度:
df['Correct'].sum() / len(df)>>> 1.0
此模型对原先未见数据的准确率为100% 。 但需注意这完全是因为Iris数据集非常易于归类 , 并不意味着对于Iris数据集来说 , 神经网络就是最好的算法 。 NN对于这类问题来讲有点大材小用 , 不过这都是以后讨论的话题了 。
本文插图
图源:unsplash
这可能是你写过最简单的神经网络 , 有着完美简洁的数据集、没有缺失值、层次最少、还有神经元!本文没有什么高级深奥的东西 , 相信你一定能够掌握它 。
本文插图
留言点赞关注
我们一起分享AI学习与发展的干货
如转载 , 请后台留言 , 遵守转载规范
推荐阅读
- 无敌马克兔|使用3个看似简单的挑战,提高摄影技巧,拍摄出不俗的作品
- 韩博士装机大师|玩游戏卡顿?只要简单2步,开启电脑最大性能,速度提升10倍!
- 找靓机|还在说小米是屌丝机?小米的实力,可不是你想的那么简单
- 中金网|PruPay 使用 PayPal 构建基于文本的支付系统
- 保险慧择首席AI专家陈健:以数据智能构建保险服务效率指数提升
- 嘶吼RoarTalk|5 个简单的方法让你的 Gmail 邮箱更安全
- 长理职培谢老师|2021年国家电网招聘考试通信类高频考点:基于CDC-F特性光交叉构建下一代光网
- 新商业情报NBT|相比AI学习,“开言简单学”的外教视频更有亮点
- 极客特派员|荣耀X10简单上手,看看值不值得买
- 京东京东牵手埃克森美孚 全方位数字化体系构建助力汽车后市场转型