前言:
如果你看过我的前两篇博客,就对我的前期数据处理工作有所了解,在前期工作中,我们已经得到了基于时间序列求均值归一化之后的RSS数据和相应label,而这篇博客主要讲述了,搭建简单神经网络模型,进行训练测试等环节。(训练集已经在上个博客中得到,测试集是直接随机从原始数据中提取,并进行归一化操作,细节部分在下文中会提到。)
1.导入模块和训练集和测试集
1.1导入模块
import torch
from torch import nn
import torch.utils.data as Data
from torch.utils.data import DataLoader
from torch.autograd import Variable
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
1.2导入训练集和测试集
train_file = pd.read_csv('H:/average_train_data/train_data.csv', header=None,
usecols=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20))
test_file = pd.read_csv("H:/2-12/test_data_ann_1.csv", header=None, usecols=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20))
导入之前处理好的训练集和测试集,训练集是5040×21的数据,其中0-19 列为0-1的数据,第20列为label列,有21个label,所有每个label有240行数据(5040=240*21),测试集是从原始数据中随机取得的,每个label20个,总计420行数据,所以测试集就是420×20的数据。
1.3测试集中的异常值处理
因为不同于训练集由取均值的方法得到,测试集是直接随机提取并归一化的,会出现不少的异常值,即存在不在[0,1]区间内的数,这些异常值会大大降低测试的准确度,所以接下来用numpy的方法处理这些异常值。

本文介绍了一种基于RSS时间序列数据的室内定位方法,利用PyTorch搭建简单神经网络模型进行训练和测试。在训练集上处理异常值后,模型在测试集上实现了约95%的正确率。
&spm=1001.2101.3001.5002&articleId=105596457&d=1&t=3&u=6eb20b3df4364982b322360c030407cd)
4358

被折叠的 条评论
为什么被折叠?



