Answering your question: yes, depending on the hyperparameters you choose, you could overfit the considered normal data, if you fit your separating hyperplane between normal and novel points being too much "shaped" on your input data.
There are, for instance in case of one-class support vector machines, some important hyperparams like nu or gamma:
Here are few things you can try to reduce overfitting:
Use batch normalization
add dropout layers
Increase the dataset
Use batch size as large as possible (I think you are using 32 go with 64)
to generate image dataset use flow from data
Use l1 and l2 regularizes in conv layers
If dataset is big increase the layers in neural network.
USE callbacks tf.keras....
Overfitting is "The production of an analysis which corresponds too closely or exactly to a particular set of data, and may therefore fail to fit additional data or predict future observations reliably." (Oxford dictionary)
When you fit a ML model, you use a dataset that you assume is a sample of the real statistical distribution you want to model. ...
Under/overfitting depends on two things: the amount of data in your dataset and the complexity of your model.
To identify when each of these is happening, you will have to split the data you have into two parts: training data and test data. You then train your model only on the training data, and then evaluate its performance (e.g. calculate its accuracy or ...
As mentioned above you can try a couple of things, depending on which framework you are using and how you want to go with hyperparameter optimisation.
sklearn (with Keras wrappers):
GridSearchCV: slow but sure to find optimal hyperparams
RandomizedSearchCV: faster and almost as good as GridSearch
Keras (with Keras Tuner):
BayesianOptimization: tuning with ...
There's quite a lot of features for the number of instances, so it's indeed likely that there's some overfitting happening.
I'd suggest these options:
Forcing the decision trees to be less complex by setting the max_depth parameter to a low value, maybe around 3 or 4. Run the experiment with a range of values (e.g. from 3 to 10) and observe the changes in ...
Note that RMSE is an easy to understand metric. Its the Root of the Mean Squared Error. So this is just how is the typical error.
If your target is something like how big is a building, and the mean of the target its 100m, then having an error of 0.3m its nothing. On the other hand if you predict the size of insect, and your target mean is around 0.1m then ...
Doing feature selection on the full dataset can lead to just this scenario, especially when so many features are available. This tread from the Stats stack exchange has some more information on how this happens, but the upshot is to make sure to do feature selection on some subset ("training set").
Yes - Getting 100% accuracy is possible for neural networks compared to tree-based models. Neural networks can learn non-linear relationships through the activation function. Tree-based models are restricted to piece-wise linear relationships.
There are lots of experiment u can try. One might not decide the overfitting and underfitting based on the confusion matrix completely.
Deal with imbalance data : First prepare a smooth sampling of your data where u need to keep thing in mind to take uniform number of sample in each class and run it and evaluate its accuracy. Because sometime due to ...