class LinearRegression::LinearRegressionBase
Public Instance Methods
beta()
click to toggle source
# File lib/linear_regressions.rb, line 12 def beta @beta end
predict(vector)
click to toggle source
# File lib/linear_regressions.rb, line 16 def predict(vector) x = Matrix[vector + [1]] x_cross_beta = x * @beta return x_cross_beta[0,0] end
r_squared_score(new_entries)
click to toggle source
# File lib/linear_regressions.rb, line 22 def r_squared_score(new_entries) y = new_entries.map{|v|v[:label]} y_bar = y.mean ss_tot = 0.0 y.each do |v| ss_tot += (v-y_bar)**2 end # puts "ss_tot=#{ss_tot}" ss_res = 0.0 new_entries.each do |e| prediction = predict(e[:features]) ss_res += (e[:label]-prediction)**2 end #puts "ss_res=#{ss_res}" return 1-(ss_res/ss_tot) end
train(entries)
click to toggle source
# File lib/linear_regressions.rb, line 8 def train(entries) raise "hasn't implemented" end