|
1208 | 1208 | " ax.plot(vdc, loop_fit_function(vdc, *init_guess_coef_vec))\n", |
1209 | 1209 | " except Exception as e:\n", |
1210 | 1210 | " print('Error: ', e) \n", |
1211 | | - " ## \n", |
1212 | | - " from sklearn.metrics import r2_score\n", |
1213 | | - " best_guess = init_guess_coef_vec.copy()\n", |
1214 | | - " try:\n", |
1215 | | - " best_guess, _ = curve_fit(loop_fit_function, vdc, pr_vec, p0=init_guess_coef_vec, maxfev=5000)\n", |
1216 | | - " best_pred = loop_fit_function(vdc, *best_guess)\n", |
1217 | | - " best_err = np.sum((pr_vec - best_pred) ** 2)\n", |
1218 | | - " best_r2 = r2_score(pr_vec, best_pred)\n", |
1219 | | - " except RuntimeError:\n", |
1220 | | - " best_err = np.inf\n", |
1221 | | - " best_r2 = -np.inf\n", |
1222 | | - " \n", |
1223 | | - " for trial_no in range(1000):\n", |
1224 | | - " if best_r2 >= 0.95:\n", |
1225 | | - " break \n", |
1226 | | - " p0_rand = init_guess_coef_vec * (1 + 0.3 * np.random.randn(len(init_guess_coef_vec)))\n", |
1227 | | - " try:\n", |
1228 | | - " guess, _ = curve_fit(loop_fit_function, vdc, pr_vec, p0=p0_rand, maxfev=5000)\n", |
1229 | | - " pred = loop_fit_function(vdc, *guess)\n", |
1230 | | - " err = np.sum((pr_vec - pred) ** 2)\n", |
1231 | | - " r2 = r2_score(pr_vec, pred)\n", |
1232 | | - " if err < best_err:\n", |
1233 | | - " best_guess, best_err, best_r2 = guess, err, r2\n", |
1234 | | - " except RuntimeError:\n", |
1235 | | - " continue\n", |
1236 | 1211 | " ##\n", |
1237 | 1212 | " X = []\n", |
1238 | 1213 | " y = [] \n", |
|
0 commit comments