I'm learning machine learning by looking through other people's kernel on kaggle, specifically this Mushroom Classification kernel. The author first applyed PCA to the transformed indicator matrix. He only used 2 principal components for visualization later. Then I checked how much variance it has maintained, and found out that only 16% variance is maintained.
in : pca.explained_variance_ratio_.cumsum() out: array([0.09412961, 0.16600686])
But the test result with 90% accuracy suggests it works well. My question is if variance stands for information, then how can ML model works well when so-much information has lost?