def _calculate_variance_reduction(self, y, y1, y2): var_tot = calculate_variance(y) var_1 = calculate_variance(y1) var_2 = calculate_variance(y2) frac_1 = len(y1) / len(y) frac_2 = len(y2) / len(y) variance_reduction = var_tot - (frac_1 * var_1 + frac_2 * var_2) return sum(variance_reduction)
def _calculate_variance_reduction(self, y, y1, y2): var_tot = calculate_variance(y) var_1 = calculate_variance(y1) var_2 = calculate_variance(y2) frac_1 = len(y1) / len(y) frac_2 = len(y2) / len(y) # Calculate the variance reduction variance_reduction = var_tot - (frac_1 * var_1 + frac_2 * var_2) #print("variance_reduction:",variance_reduction) return sum(variance_reduction)
def _calculate_variance_reduction(self, y, y1, y2): var_tot = calculate_variance(y) var_1 = calculate_variance(y1) var_2 = calculate_variance(y2) frac_1 = len(y1) / len(y) frac_2 = len(y2) / len(y) # Calculate the variance reduction variance_reduction = var_tot - (frac_1 * var_1 + frac_2 * var_2) return sum(variance_reduction)
# Initialize array x3 = np.empty((0, n)) # Append x3 for x1, x2 in x: temp = sin(x1) * x2 x3 = np.append(x3, temp) # Build the X matrix X = np.insert(x, 2, x3, axis=1) # Make the predictions of the model y1_pred = linear_regressor.predict(X) MSE = evaluate_predictions(y1_pred, y) e_lr = MSE * n # calculate variance squared s_lr = calculate_variance(y, y1_pred, e_lr) # Model from Task 2 # Make the prediction y2_pred = regressor.predict(x_test) y2_pred = y2_pred.reshape(y_test.shape) MSE = evaluate_predictions(y2_pred, y_test) e_nn = MSE * len(x_test) # calculate variance squared s_nn = calculate_variance(y_test, y2_pred, e_nn) # Print statistics and finish print("\nTask 1 model: Mean: {} -- Variance Squared: {}".format( e_lr, s_lr))