栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 窃漏电用户问题的LM神经网络模型(bug修改后可运行)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 窃漏电用户问题的LM神经网络模型(bug修改后可运行)

看到该问题的时候,尝试在网上寻找源码,这里就不贴出来了,见6-3 构建LM神经网络模型代码(python3.6下运行)_清泉石上流9300的博客-CSDN博客https://blog.csdn.net/sinat_17588957/article/details/89945560?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-89945560-blog-110827716.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-89945560-blog-110827716.pc_relevant_antiscanv2&utm_relevant_index=2但是运行的时候发现问题还是挺多的。

 

(1)python的版本

由于这里要使用神经网络,需要下载tensorflow库,而这个库是要64位的python版本才能下载的,于是迫不得已我把旧版本卸了,又重新安装了64位版本。

(2)pip install tensorflow下载太慢,老是出错

由于网速太慢,用pip install tensorflow老是下载出错,上网寻找了各种解决方法,发现一个非常好用的命令

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow

不仅快,而且不会出错。

一切准备就绪后,开始运行代码,然后bug就不断出现了,如下:

(1)'DataFrame' object has no attribute 'as_matrix'

原因:as_matrix()方法被淘汰了

解决方法:修改为

data = data.iloc[:,:].values

 

(2)__init__() missing 1 required positional argument: 'units'

原因:Dense的参数出错

解决方法:修改为

net.add(Dense(10,input_dim=3)) 

第21行同理修改为

net.add(Dense(1,input_dim=10)) 

然后代码神经网络迭代开始运行

(3)'Sequential' object has no attribute 'predict_classes'

 

原因:'Sequential'没有'predict_classes'方法,但是有'predict'方法,于是修改为

 pc = net.predict(train[:, :3]).reshape(len(train))

(4)Classification metrics can't handle a mix of binary and continuous targets

原因:train[:, 3]是int类型,而pc是表示概率的float类型,类型不同,所以会出错。

解决方法:将pc四舍五入后转换为int类型

在第44行前插入一句

pc=np.around(pc,0).astype(int)

 

最终,所有bug解决,代码成功编译运行,结果如下:

Predicted label为预测结果,True label为真实结果

这个图的意思是:

预测结果与真实结果都为0的有150个,都为1的有59个;

预测结果为1,真实结果为0的有12个;预测结果为0,真实结果为1的有11个.

则正确率为:(150+59)/(150+12+11+59)×100%=90.09%

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938663.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号