将混合数据类型加载到MATLAB神经网络工具箱

我在将制表符分隔的输入文件加载到MATLAB的nprtool时遇到了困难,我认为这是因为nprtool的GUI不支持加载混合数据类型。我要加载的.tab文件大约有1100个数据样本(行),每个样本看起来像这样:

864 1342470776.212023000    172.25.177.41   155.34.234.20   HTTP    440 58689   http-alt    GET http://i.cdn.turner.com/cnn/.e/img/3.0/global/header/hdr-main.gif   image/png,image/*;q=0.8,*/*;q=0.5   gzip,deflate            0.000094000     http://www.cnn.com/

上面只是输入向量中的一个样本。我尝试使用nprtool的GUI加载文件,但它无法正确识别数据。所有数据都被视为’textdata’,’data’部分有些杂乱数据。然后我尝试通过脚本而不使用GUI来操作,但这种方法抛出了错误(如下)。有什么解决方法吗?以下是我用来加载文件的脚本片段以及错误。任何帮助都将不胜感激。谢谢!

text1 = fopen('/Users/cgarry/Desktop/CRANEUM/output.tab');pacTargets = importdata('/Users/cgarry/Desktop/CRANEUM/data.tab','\t');pacInputs = textscan(text1,'%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s');fclose(text1);inputs = pacInputs;targets = pacTargets;% Create a Pattern Recognition NetworkhiddenLayerSize = 10;net = patternnet(hiddenLayerSize);% Setup Division of Data for Training, Validation, Testingnet.divideParam.trainRatio = 70/100;net.divideParam.valRatio = 15/100;net.divideParam.testRatio = 15/100;% Train the Network[net,tr] = train(net,inputs,targets);% Test the Networkoutputs = net(inputs);errors = gsubtract(targets,outputs);performance = perform(net,targets,outputs);% View the Networkview(net)% Plots% Uncomment these lines to enable various plots.%figure, plotperform(tr)%figure, plottrainstate(tr)%figure, plotconfusion(targets,outputs)%figure, ploterrhist(errors)>> nnetError using trainscg (line 97)Inputs X{1,1} is not numeric or logical.Error in network/train (line 106)[net,tr] = feval(net.trainFcn,net,X,T,Xi,Ai,EW,net.trainParam);Error in nnet (line 21)[net,tr] = train(net,inputs,targets);

回答:

没错,MATLAB神经网络不支持混合数据类型。但别担心,有多种方法可以处理这个问题。最简单的方法是分类你的数据。例如,所有包含HTTP的数据可以用1表示,其他数据可以用2、3等表示。还有其他一些软件可用。我认为R语言的神经网络包可以处理这个问题(不确定)。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注