1. A method for automatically predicting the cause of suboptimal shooting comprising: providing a plurality of good example reference data to an evaluation function; providing a plurality of bad example reference data to the evaluation function; obtaining training data of a trainee's shot dispersion data; obtaining training data from at least one sensor mounted on the trainee's weapon; using the evaluation function to classify the training data as good or bad; and, displaying feedback on the screen based on the classification.