ner_tags: O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B-Citation I-Citation I-Citation I-Citation I-Citation I-Citation O O O O O O O O O O O O O O O O O O O O O O O O B-Formula I-Formula I-Formula O B-Formula I-Formula I-Formula O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B-Citation I-Citation O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B-Software I-Software I-Software B-Software I-Software B-URL O O O O O O O O O O B-ComputingFacility I-ComputingFacility I-ComputingFacility I-ComputingFacility I-ComputingFacility I-ComputingFacility I-ComputingFacility O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
tokens: 10 3 ]. In panel (b), C ranges from (0, 200] and γ ranges from (0, 0.2]. For the purpose of cross-validation, we split the entire data set into two subsets: the training set and the test set. Amari et al. ( 1997 ) found the optimal number of the test set as , where l and n are the number of data points and features, respectively. Taking l = 187 and n = 13 in our case, we found that the partition of the entire data set between the training set and the test set should be 80%:20% (145:37). Using the optimal pair of parameters C and γ found above, we fed the training set into the SVM regression algorithm to build a prediction engine. Next, we made a prediction of the CME transit times using the test set and calculating the R 2 score between the predicted and actual transit times. To find the best result with the highest R 2 score, we randomly shuffled the entire data set (the order of events in the data set is shuffled, which is a general practice to avoid bias, see, e.g., Géron 2017 ) and repeated the above steps (i.e., split the shuffled data set into the training and test sets, build an engine using the training set, and calculated the R 2 score of the test set). Theoretically, there are (∼6 × 10 38 ) possible combinations of the training set and test set. This is a huge number and it is impossible to exhaustively test all of the possibilities given the available computer power. Figure 5 shows the variation of the average (blue curve) and maximum (green curve) R 2 scores among all of the test sets with the increasing number of trainings. The average R 2 score increases continuously before the number of trainings reaches 1000, and remains almost unchanged after that. This suggests that when training is performed over 1000 times, the result can reflect the basic distribution of the R 2 scores for all possibilities. The maximum R 2 score increases steeply when the number of performed trainings is less than 100,000 and yields a similar value when it is increased by a factor of 10. This indicates that it becomes more feasible to find the best engine with an increasing number of trainings. Figure 5. Variation of the average (blue curve) and maximum (green curve) R 2 scores with increasing number of trainings. Considering the above results and reasonable CPU time consumption, we repeated 100,000 times of trainings to find the best training set, which results in a highest R 2 score of its corresponding test set, to construct the engine. This could be rather costly. However, via paralleling the process employing the open-source Message Passing Interface (Open MPI, http://www.open-mpi.org/ ), a 100,000-time training only takes ∼25 minutes on an Intel(R) Core(TM) i7-7770K desktop with 8 threads. However, we should note that training the SVM regression 100,000 times cannot always reveal the best result (as shown by the green dashed line in Figure 3 ), because 100,000 is only a fraction of all of the possibilities (). Multiple runs are sometimes needed to