@@ -16,26 +16,31 @@ def plot_cross_val_selection():
16
16
'gamma' : [0.001 , 0.01 , 0.1 , 1 , 10 , 100 ]}
17
17
grid_search = GridSearchCV (SVC (), param_grid , cv = 5 )
18
18
grid_search .fit (X_trainval , y_trainval )
19
- results = pd .DataFrame (grid_search .results_ )[15 :]
19
+ results = pd .DataFrame (grid_search .cv_results_ )[15 :]
20
20
21
- best = np .argmax (results .test_mean_score .values )
21
+ best = np .argmax (results .mean_test_score .values )
22
22
plt .figure (figsize = (10 , 3 ))
23
23
plt .xlim (- 1 , len (results ))
24
24
plt .ylim (0 , 1.1 )
25
25
for i , (_ , row ) in enumerate (results .iterrows ()):
26
26
scores = row [['test_split%d_score' % i for i in range (5 )]]
27
- marker_cv , = plt .plot ([i ] * 5 , scores , '^' , c = 'gray' , markersize = 5 , alpha = .5 )
28
- marker_mean , = plt .plot (i , row .test_mean_score , 'v' , c = 'none' , alpha = 1 , markersize = 10 )
27
+ marker_cv , = plt .plot ([i ] * 5 , scores , '^' , c = 'gray' , markersize = 5 ,
28
+ alpha = .5 )
29
+ marker_mean , = plt .plot (i , row .mean_test_score , 'v' , c = 'none' , alpha = 1 ,
30
+ markersize = 10 )
29
31
if i == best :
30
- marker_best , = plt .plot (i , row .test_mean_score , 'o' , c = 'red' , fillstyle = "none" ,
31
- alpha = 1 , markersize = 20 , markeredgewidth = 3 )
32
+ marker_best , = plt .plot (i , row .mean_test_score , 'o' , c = 'red' ,
33
+ fillstyle = "none" , alpha = 1 , markersize = 20 ,
34
+ markeredgewidth = 3 )
32
35
33
- plt .xticks (range (len (results )), [str (x ).strip ("{}" ).replace ("'" , "" )
34
- for x in grid_search .results_ ['params' ]], rotation = 90 )
36
+ plt .xticks (range (len (results )), [str (x ).strip ("{}" ).replace ("'" , "" ) for x
37
+ in grid_search .cv_results_ ['params' ]],
38
+ rotation = 90 )
35
39
plt .ylabel ("Validation accuracy" )
36
40
plt .xlabel ("Parameter settings" )
37
41
plt .legend ([marker_cv , marker_mean , marker_best ],
38
- ["cv accuracy" , "mean accuracy" , "best parameter setting" ], loc = (1.05 , .4 ))
42
+ ["cv accuracy" , "mean accuracy" , "best parameter setting" ],
43
+ loc = (1.05 , .4 ))
39
44
40
45
41
46
def plot_grid_search_overview ():
@@ -54,9 +59,10 @@ def draw(ax, text, start, target=None):
54
59
patchB = None
55
60
annotation = ax .annotate (text , end , start , xycoords = 'axes pixels' ,
56
61
textcoords = 'axes pixels' , size = 20 ,
57
- arrowprops = dict (arrowstyle = "-|>" , fc = "w" ,
58
- ec = "k" , patchB = patchB ,
59
- connectionstyle = "arc3,rad=0.0" ),
62
+ arrowprops = dict (
63
+ arrowstyle = "-|>" , fc = "w" , ec = "k" ,
64
+ patchB = patchB ,
65
+ connectionstyle = "arc3,rad=0.0" ),
60
66
bbox = dict (boxstyle = "round" , fc = "w" ),
61
67
horizontalalignment = "center" ,
62
68
verticalalignment = "center" )
@@ -66,15 +72,21 @@ def draw(ax, text, start, target=None):
66
72
step = 100
67
73
grr = 400
68
74
69
- final_evaluation = draw (axes , "final evaluation" , (5 * step , grr - 3 * step ))
70
- retrained_model = draw (axes , "retrained model" , (3 * step , grr - 3 * step ), final_evaluation )
71
- best_parameters = draw (axes , "best parameters" , (.5 * step , grr - 3 * step ), retrained_model )
72
- cross_validation = draw (axes , "cross-validation" , (.5 * step , grr - 2 * step ), best_parameters )
73
- parameters = draw (axes , "parameter grid" , (0.0 , grr - 0 ), cross_validation )
74
- training_data = draw (axes , "training data" , (2 * step , grr - step ), cross_validation )
75
+ final_evaluation = draw (axes , "final evaluation" , (5 * step , grr - 3 *
76
+ step ))
77
+ retrained_model = draw (axes , "retrained model" , (3 * step , grr - 3 * step ),
78
+ final_evaluation )
79
+ best_parameters = draw (axes , "best parameters" , (.5 * step , grr - 3 *
80
+ step ), retrained_model )
81
+ cross_validation = draw (axes , "cross-validation" , (.5 * step , grr - 2 *
82
+ step ), best_parameters )
83
+ draw (axes , "parameter grid" , (0.0 , grr - 0 ), cross_validation )
84
+ training_data = draw (axes , "training data" , (2 * step , grr - step ),
85
+ cross_validation )
75
86
draw (axes , "training data" , (2 * step , grr - step ), retrained_model )
76
- test_data = draw (axes , "test data" , (5 * step , grr - step ), final_evaluation )
87
+ test_data = draw (axes , "test data" , (5 * step , grr - step ),
88
+ final_evaluation )
77
89
draw (axes , "data set" , (3.5 * step , grr - 0.0 ), training_data )
78
- data_set = draw (axes , "data set" , (3.5 * step , grr - 0.0 ), test_data )
90
+ draw (axes , "data set" , (3.5 * step , grr - 0.0 ), test_data )
79
91
plt .ylim (0 , 1 )
80
92
plt .xlim (0 , 1.5 )
0 commit comments