1. A method for automatically predicting the cause of suboptimal shooting comprising: processing a first reference example of a shot dispersion pattern indicating a particular shooting mistake and a second reference example of data from a sensor mounted on a weapon indicating the particular shooting mistake in an evaluation function as bad example reference data; processing a third reference example of a shot dispersion pattern not indicating the particular shooting mistake and a fourth reference example of data from a sensor mounted on a weapon not indicating the particular shooting mistake in the evaluation function as good example reference data; calculating a plurality of parameters associated with the first, second, third, and fourth reference examples; assigning weights to the plurality of parameters; repeating both processing steps and the calculating step and adjusting the weights until the evaluation function can correctly determine whether a combination of a reference example of a shot dispersion pattern and a reference example of data from a sensor mounted on a weapon indicates the particular shooting mistake or does not indicate the particular shooting mistake; providing a trainee weapon with at least one sensor mounted on the trainee weapon to a trainee; obtaining training data that includes shot dispersion data of the trainee and data from the at least one sensor mounted on the trainee weapon; using the evaluation function to classify the training data as indicating the particular shooting mistake or not indicating the particular shooting mistake; and, displaying on a screen whether the particular shooting mistake has occurred.