def fit(self, x_data, y_data, kernel='std', alpha=0.1): #x_1 = (inv_by_adjugate(midPointMatrix(x.T.dot(x)))) #self._preProcessingData(x,y) #First part of method minimum square if (kernel == 'std'): x = Rdmia.array(x_data) y = Rdmia.array(y_data) x_1 = x.T.dot(x).midPointMatrix x_1 = x_1.I #y_2 = midPointMatrix(x.T.dot(y)) y_2 = x.T.dot(y).midPointMatrix #Calculated predictors beta z = (x_1).dot(y_2) self._predictors = Rdmia.array( [z.data[i][0] for i in range(len(z.data))]) elif (kernel == 'multidimensional'): self._isMult = True opt_minium = 0.0 opt_maximum = 0.0 for i in np.arange(0.0, 1.0, alpha): x = Rdmia.arrayAlpha(x_data, i) y_min, y_max = Rdmia.arrayMinMax(y_data) x_1 = x.T.dot(x) x_1 = x_1.I #y_2 = midPointMatrix(x.T.dot(y)) y_2_min = x.T.dot(y_min) y_2_max = x.T.dot(y_max) #Calculated predictors beta z_min = (x_1).dot(y_2_min) z_max = (x_1).dot(y_2_max) #print(z.data) #self._predictorsLow = (Rdmia.array([z_min.data[i][0] for i in range(len(z_min.data))])) #self._predictorsUp = (Rdmia.array([z_max.data[i][0] for i in range(len(z_max.data))])) opt_min, opt_max = self._optimizations(x_data, (Rdmia.array( [z_min.data[i][0] for i in range(len(z_min.data))])), (Rdmia.array( [z_max.data[i][0] for i in range(len(z_max.data))])), y_min, y_max) if (i == 0): self._predictorsLow = (Rdmia.array( [z_min.data[i][0] for i in range(len(z_min.data))])) self._predictorsUp = (Rdmia.array( [z_max.data[i][0] for i in range(len(z_max.data))])) opt_minimum = opt_min opt_maximum = opt_max elif (opt_min < opt_minium): self._predictorsLow = (Rdmia.array( [z_min.data[i][0] for i in range(len(z_min.data))])) opt_minimum = opt_min elif (opt_max < opt_maximum): self._predictorsUp = (Rdmia.array( [z_max.data[i][0] for i in range(len(z_max.data))])) opt_maximum = opt_max #Calculte Status y_pred = self.predict(x_data) self._coefDetermination = self._coefDetermination(y_data, y_pred) self._rmse = self._RMSE(y_data, y_pred) print("### STATISTICS OF MODEL ###") print("# RMSE: ", self._rmse) print("# Coefficiente of Determination: ", self._coefDetermination) print("#")
[Rdmia.number(70,112)], [Rdmia.number(54,72)], [Rdmia.number(70,100)], [Rdmia.number(63,75)], [Rdmia.number(72,100)], [Rdmia.number(76,98)], [Rdmia.number(86,96)], [Rdmia.number(86,100)] ]) y = [[Rdmia.number(44,68)], [Rdmia.number(60,72)], [Rdmia.number(56,90)], [Rdmia.number(70,112)], [Rdmia.number(54,72)], [Rdmia.number(70,100)], [Rdmia.number(63,75)], [Rdmia.number(72,100)], [Rdmia.number(76,98)], [Rdmia.number(86,96)], [Rdmia.number(86,100)] ] ''' y = Rdmia.array([[25], [13], [8], [20]]) regressor = RLS() regressor.fit(x, y) ypred = regressor.predict(y) print(regressor)