def plot_predictions(prog_num, bp, inX, iny): plt.cla() X_bp, y_bp = ascdata.get_bp_data(prog_num, bp, inX, iny) iny_pred = clf.predict(X_bp) plot_inputs = range(1,11) plt.plot(plot_inputs, y_bp.flatten(), 'bx') plt.plot(plot_inputs, iny_pred.flatten(),'ro') plt.savefig("multitask_" + str(prog_num) + "_" + str(bp) + ".png") bp_rms = ascdata.multi_RMSE(y_bp, iny_pred) bp_r2 = ascdata.multi_r2(y_bp, iny_pred) print "rms total for prognum", prog_num, "at breakpoint", bp, bp_rms print "r2 total for prognum", prog_num, "at breakpoint", bp, bp_r2
from math import sqrt ### IMPORT DATA ### print "IMPORTING DATA" X_raw, y_raw = ascdata.load_asc_data() X_nonzero,y_nonzero = ascdata.remove_zeros(X_raw, y_raw) X,y = ascdata.remove_crazy(X_nonzero,y_nonzero, 100) X_train, y_train, X_test, y_test = ascdata.split_train_test(X, y) ### GET PREDICTIONS ### print "GETTING PREDICTIONS" clf = neural_network.MLPRegressor() clf.fit(X_train, y_train) y_pred = clf.predict(X_test) rms_test = ascdata.multi_RMSE(y_test, y_pred) print "overall rms test", rms_test score = clf.score(X_test, y_test) print "overall score", score # Get cross validation RMS and r^2 def get_kfold_scores(inX, iny, k): N = inX.shape[0] kf = KFold(N, k, shuffle=True) mses=[] r2s = [] for train_index, test_index in kf: kf_X_train, kf_X_test = inX[train_index], inX[test_index] kf_y_train, kf_y_test = iny[train_index], iny[test_index] kf_y_test_pred = clf.predict(kf_X_test)