I am assuming, your focus here is the prediction accuracy and not interpretability?
So, as there is a class imbalance, you can do two things:
As suggested by the other user, you can use SMOTE or any technique.
Use a non-parametric method that is more robust in handling the class imbalance.
I tried to use Random Forest on your data, and the classification ...
You can look into SMOTE & ADAYSN techniques. This will help you in reducing the imbalance in the dataset by creating synthetic data
If your datasets are random (with no real connection between the class and predictive variables), then "the right" model is a constant one: in (A), the predicted probabilities should be roughly $0.3, 0.2, 0.5$, whereas in (B) they should be $0.33, 0.33, 0.33$. When making the hard classifier then, in (A) the maximum probability will nearly always ...
A few comments:
I don't know this dataset but it seems to be a difficult one to classify since the performance is not much better than a random baseline (the random baseline in binary classification gives 50% accuracy, since it guesses right half the time).
If I'm not mistaken the majority class (class 1) has 141 instances out of 252, i.e. 56% (btw the ...
Using lm is not the right approach to model a binary outcome. You would use a Logit in this case (see some example here and see why not lm here).
However, there are (at least) two more issues:
You have a highly unbalanced target
You may have "noisy" features
You should check if some oversampling of the minority class or using SMOTE ...