机器学习实验(十一):基于WiFi fingerprints用自编码器(Autoencoders)和神经网络(Neural Network)进行定位_2(keras版)
来源:互联网 发布:苹果 淘宝 编辑:程序博客网 时间:2024/05/17 02:17
声明:版权所有,转载请联系作者并注明出处 http://blog.csdn.net/u013719780?viewmode=contents
上一个实验机器学习实验(十):基于WiFi fingerprints用自编码器(Autoencoders)和神经网络(Neural Network)进行定位_1(tensorflow版)是用tensorflow实现的,本次用keras实现一下,具体代码如下:
import pandas as pdimport numpy as npfrom sklearn.preprocessing import scaledataset = pd.read_csv("trainingData.csv",header = 0)features = scale(np.asarray(dataset.ix[:,0:520]))labels = np.asarray(dataset["BUILDINGID"].map(str) + dataset["FLOOR"].map(str))labels = np.asarray(pd.get_dummies(labels))train_val_split = np.random.rand(len(features)) < 0.70train_x = features[train_val_split]train_y = labels[train_val_split]val_x = features[~train_val_split]val_y = labels[~train_val_split]test_dataset = pd.read_csv("validationData.csv",header = 0)test_features = scale(np.asarray(test_dataset.ix[:,0:520]))test_labels = np.asarray(test_dataset["BUILDINGID"].map(str) + test_dataset["FLOOR"].map(str))test_labels = np.asarray(pd.get_dummies(test_labels))
from keras.models import Sequentialfrom keras.layers import Denseimport timenb_epochs = 20batch_size = 10input_size = 520num_classes = 13def encoder(): model = Sequential() model.add(Dense(256, input_dim=input_size, activation='tanh', bias=True)) model.add(Dense(128, activation='tanh', bias=True)) model.add(Dense(64, activation='tanh', bias=True)) return modeldef decoder(e): e.add(Dense(128, input_dim=64, activation='tanh', bias=True)) e.add(Dense(256, activation='tanh', bias=True)) e.add(Dense(input_size, activation='tanh', bias=True)) e.compile(optimizer='adam', loss='mse') return e e = encoder()d = decoder(e)d.fit(train_x, train_x, nb_epoch=nb_epochs, batch_size=batch_size, verbose=2)time.sleep(0.1)def classifier(d): num_to_remove = 3 for i in range(num_to_remove): d.pop() d.add(Dense(128, input_dim=64, activation='tanh', bias=True)) d.add(Dense(128, activation='tanh', bias=True)) d.add(Dense(num_classes, activation='softmax', bias=True)) d.compile(optimizer='adam', loss='categorical_crossentropy',metrics=['accuracy']) return dc = classifier(d)c.fit(train_x, train_y, validation_data=(val_x, val_y), nb_epoch=nb_epochs, batch_size=batch_size, verbose=2)time.sleep(0.1)loss, acc = c.evaluate(test_features, test_labels, verbose=0)time.sleep(0.1)print loss, acc
1 1
- 机器学习实验(十一):基于WiFi fingerprints用自编码器(Autoencoders)和神经网络(Neural Network)进行定位_2(keras版)
- 笔记-自编码器(Autoencoders)
- Standford机器学习 神经网络的学习(Neural Network Learning)
- Standford机器学习 神经网络的学习(Neural Network Learning)
- Standford机器学习 神经网络(Neural Network)的表示
- Standford NG机器学习 神经网络(Neural Network)的表示
- Standford机器学习 神经网络(Neural Network)的表示
- 机器学习实验(七):用特征值衰减正则化方法进行深度学习实验_2
- 自编码器Autoencoders
- [机器学习入门] 李宏毅机器学习笔记-11(Convolutional Neural Network;卷积神经网络)
- 深度学习框架Keras学习系列(二):神经网络与BP算法(Neural Network and BP Algorithm)
- 台湾大学机器学习笔记——Neural Network 神经网络
- 机器学习与深度学习(四) 神经网络 (Neural Network) NN
- 机器学习算法篇--卷积神经网络基础(Convolutional Neural Network)
- 斯坦福机器学习实验之3-多分类和神经网络(Multi-class Classification and Neural Networks)
- 机器学习(十)- Neural Network representation
- 机器学习笔记-Neural Network
- Keras 自编码器AutoEncoder(五)
- 使用WakeLock使Android应用程序保持后台唤醒
- 百度地图+定位
- vue.js 2.0父子组件学习入门套路(推荐相关阅读)
- Excel表格数据怎么行列倒置,怎么行列切换
- Tomcat性能优化
- 机器学习实验(十一):基于WiFi fingerprints用自编码器(Autoencoders)和神经网络(Neural Network)进行定位_2(keras版)
- excel match 某个值是否在特定列
- UITextView如何绘制圆角和添加背景图片
- k近邻算法
- 亲自实践Andfix 流程记录
- OpenAL播放pcm或wav数据流-windows/ios/android(一)
- React Native客户端服务器分开集成方案
- excel数据以千位单位K显示
- 自动化笔记-iframe