In[]:=
"Dados experimentais";​​SetDirectory[NotebookDirectory[]];​​dados=Import["C:\\Users\\fjphb\\Desktop\\mestrado\\Redes Neurais\\dados1.dat"];​​Dimensions[dados];​​Table[Histogram[dados〚;;,i〛],{i,2}]​​data=Table[dados];
Out[]=

,

In[]:=
​​
Treino
In[]:=
n=Length[data];​​trainN=Floor[0.9*n];​​RandomSeed[123];​​{dataTrain,dataTest}=TakeDrop[RandomSample@dados,trainN];​​Dimensions[dataTrain];​​Dimensions[dataTest];​​xTrain=dataTrain〚All,1;;2〛;​​yTrain=dataTrain〚All,3〛;​​xTest=dataTest〚All,1;;2〛;​​yTest=dataTest〚All,3〛;​​Histogram[{yTrain,yTest},ChartLegends{"Train data","Test data"},LabelingFunctionAbove];​​(*​​xvalid=Table[{data[[17;;25,1;;2]]}];​​yvalid=Table[{data[[17;;25,3]]}];​​*)
In[]:=
​
In[]:=
Mean[xTrain]//N;​​StandardDeviation[xTrain]//N;​​xTrainStandardized=Transpose@Map[Standardize,Transpose[xTrain]];​​Mean[xTrainStandardized];​​StandardDeviation[xTrainStandardized];​​xTestStandardized=Transpose@Table[(xTest[[All,i]]-Mean[xTrain][[i]])/StandardDeviation[xTrain][[i]],{i,2}];​​Mean[xTestStandardized]//N;​​StandardDeviation[xTestStandardized]//N;
In[]:=
train=Table[xTrainStandardized〚i,All〛yTrain〚i〛,{i,trainN}];​​Dimensions[train];​​train〚;;1〛//N;​​test=Table[xTestStandardized〚i,All〛yTest〚i〛,{i,Length[yTest]}];​​Dimensions[test];​​test〚;;1〛//N;
dec=NetDecoder[{"Class",{0,1}}]​​SeedRandom[123];​​net=NetInitialize[NetChain[{5,Ramp,2,SoftmaxLayer[]},"Output"dec,"Input"2],Method{"Random","Weights"0.01,"Biases"0}]​​NetExtract[net,{1,"Weights"}]​​Normal[net]​​
Out[]=
NetDecoder
Type:
Class
Input:
vector (size: 2)

Out[]=
NetChain
Input port:
vector (size: 2)
Output port:
class

Out[]//MatrixForm=
NumericArray
Type: Real32
Dimensions: {5,2}

Out[]=
LinearLayer
Input:
vector (size: 2)
Output:
vector (size: 5)
,ElementwiseLayer
Input:
vector (size: 5)
Output:
vector (size: 5)
,LinearLayer
Input:
vector (size: 5)
Output:
vector (size: 2)
,SoftmaxLayer
Input:
vector (size: 2)
Output:
vector (size: 2)

Histogram[Flatten[NetExtract[net,{1,"Weights"}]],{0.01}];
In[]:=
trained=NetTrain[net,train,BatchSize256,ValidationSettest,TargetDevice"CPU",LossFunctionCrossEntropyLossLayer["Binary"],Method{"SGD","LearningRate"->0.01,"Momentum"->0.5},MaxTrainingRounds25]
NetTrain
:Data provided to port "Output should be a non-empty list of length-2 vectors of real numbers​, but was a length-36 vector of real numbers.
Out[]=
$Failed
In[]:=
trained[xTestStandardized[[1]]]​​c=ClassifierMeasurements[trained,test];​​c["Proprieties"];​​c["Accuracy"];​​c["ConfusionMatrixPlot"];​​c["Report"];​​c["AreaUnderROCCurve"];​​c["RocCurve"];​​c["ClassMeanCrossEntropy"];
Out[]=
$Failed[xTestStandardized〚1〛]
ClassifierMeasurements
:The first argument should be a ClassifierFunction instead of $Failed.