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