Borrar filtros
Borrar filtros

To Create mean squared error as a Function handle for input to genetic algorithm

3 visualizaciones (últimos 30 días)
I am working on machine learning algorithms namely svm, knn, nb, elm etc. I wish to use ga for feature selection. The input matrix is of size 1250*36 where 36 is the number of features. I have the predicted output and original target matrix. The size of the matrix is 1250*5 since the number of classes is 5. Now I need to give the input matrix as input and to find the mean squared error between the predicted output and target matrix which should be formed as function handle which will be given as input to ga(genetic algorithm). Please help and share your points. Thanks in advance

Respuesta aceptada

David Hill
David Hill el 12 de Abr. de 2022
targetMatrix=50*rand(1250,5);
predictedOutput=50*rand(1250,5);
mse=@(t,p)mean((t-p).^2,'all');
MSE=mse(targetMatrix,predictedOutput);
  1 comentario
Little Flower
Little Flower el 12 de Abr. de 2022
Editada: Little Flower el 12 de Abr. de 2022
Thank you dear David Hill. Now there is no error in giving it as a function handle input. Also I have a doubt on giving input to genetic algorithm. I have used knn in the below program and while running there is no change in the fitness value. Kindly go through my code and check whether it is correct or not. Thanks in advance
mdl_knn= fitcknn(featuresTrain,YTrain,'NumNeighbors',1,'Standardize',1);
fun=@(t,p)mse_fn(mdl_knn,featuresTest,YTest_out);
options = gaoptimset('TolFun', 1e-8,'display','iter');
gg=ga(fun,36,options);
end
function mse_new=mse_fn(mdl_knn,featuresTest,YTest_out)
[YPred_knn,scores]= predict(mdl_knn,featuresTest);
mse_new=mean((scores-YTest_out).^2,'all');
end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Genetic Algorithm en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by