【问题标题】:Comparing Octave ML Results Vs. R results比较 Octave ML 结果与。 R结果
【发布时间】:2013-12-08 04:55:55
【问题描述】:

R 代码:

my.data <- mtcars[,c(1,3)] # Which has only two columns mpg, disp

lm(mpg~disp,data=my.data) #R Code for fitting a regression line

R 输出:

Call:
  lm(formula = mpg ~ disp, data = my.data)

Coefficients:
  (Intercept)         disp  
     29.59985     -0.04122  

将 R 数据集写入磁盘文件

write.table(my.data,'~/Downloads/mtcars',sep=",",row.name=F,col.names=F) 

八度码:

cd ~/Downloads
data=load('mtcars') # Using R dataset to fit the model
x=data(:,2)
y=data(:,1) 
cd ~/Dropbox/ML/mlclass-ex1-004/mlclass-ex1 %without any errors
xn=featureNormalize(x) # feature Normalizing with mean and std 
x1=[ones(length(x),1),xn]
theta=zeros(size(x1,2),1)
g=gradientDescent(x1,y,theta,alpha=.1,10000)

g 的输出为:

g =
20.0906
-5.0277

如果看disp的截距和系数; R 输出和倍频程输出没有匹配度。

有谁知道这种差异来自哪里?哪一个是对的?

【问题讨论】:

    标签: r statistics machine-learning octave


    【解决方案1】:

    您标准化了 Octave 代码中的功能。在 R 中做同样的事情会得到相似的结果。

    R> mtcars$normalized_disp <- as.numeric(scale(mtcars$disp))
    R> lm(mpg ~ normalized_disp, data = mtcars)
    
    Call:
    lm(formula = mpg ~ normalized_disp, data = mtcars)
    
    Coefficients:
        (Intercept)  normalized_disp  
             20.091           -5.108  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 1970-01-01
      • 2014-07-16
      • 1970-01-01
      相关资源
      最近更新 更多