How to improve machine learning classification testing result?

1 visualización (últimos 30 días)
Sandy Winardi
Sandy Winardi el 19 de Mayo de 2022
Respondida: arushi el 29 de Ag. de 2024
I want to do machine learning classification of data with inputs (1000x720) and targets (2x720),
I've tried using the neural networks functions with the following parameters:
net.divideParam.trainRatio = 0.65; % ratio of data used for the training
net.divideParam.valRatio = 0.0;
net.divideParam.testRatio = 0.35; % ratio of data used for the testing
But, the testing result was only around 54%.
I've tried changing the training and testing ratio, increasing the training epochs and changing the hiddenLayerSize value:
hiddenLayerSize = 20;
net.trainParam.epochs = 5000;
But no significant improvement can be seen.
What can I do to improve the testing result? (to at least >70%)
Thank you in advance.
  2 comentarios
the cyclist
the cyclist el 19 de Mayo de 2022
It's not really possible to help without seeing the data or your code.
Also, how do you know that the inputs predict the target? Predictibility isn't guaranteed. Just hoping for more accuracy doesn't mean it can be achieved.
Sandy Winardi
Sandy Winardi el 19 de Mayo de 2022
Sorry for the confusion, I'm fairly new to this topic.
The "targets" is the known outputs of the inputs.
The inputs data consists of 720 observations and 1000 features.
The classification has 2 classes (0 or 1).
I've attached the inputs and outputs if it's still not clear.

Iniciar sesión para comentar.

Respuestas (1)

arushi
arushi el 29 de Ag. de 2024
Hi Sandy Winardi,
I understand that you are trying to classify data with 720 observations and 1000 features. To improve the testing result accuracy of your machine learning model, you can try the following approaches:
  1. Feature Selection/Dimensionality Reduction: It is very unlikely that all 1000 features are relevant for classification. You can use techniques like Principal Component Analysis (PCA) to identify the most informative features.
  2. Data Preprocessing: Normalize the input features to have zero mean and unit variance. This will help the model converge faster and improve performance.
  3. Hyperparameter Tuning: Experiment with different hyper parameters like learning rate, number of layers, and number of nodes in each layer.
  4. Cross-Validation: Instead of relying solely on a fixed train-test split, consider using cross-validation techniques such as k-fold cross-validation etc.
For more information about the various parameters that can be adjusted in the “network” function, please refer to the following documentation: -
I hope this helps!

Categorías

Más información sobre AI for Signals 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