标签: linear-regression

线性回归和逻辑回归有什么区别?

当我们必须预测分类(或离散)结果的值时,我们使用逻辑回归.我相信我们使用线性回归来预测输入值给出的结果值.

那么,这两种方法有什么区别?

machine-learning data-mining linear-regression

211
推荐指数
7
解决办法
21万
查看次数

如何在Python中进行指数和对数曲线拟合?我发现只有多项式拟合

我有一组数据,我想比较哪条线最好地描述它(不同顺序的多项式,指数或对数).

我使用Python和Numpy,对于多项式拟合,有一个函数polyfit().但我没有发现指数和对数拟合的这些函数.

有吗?或者如何解决呢?

python numpy curve-fitting scipy linear-regression

129
推荐指数
6
解决办法
19万
查看次数

Python中的多元线性回归

我似乎找不到任何进行多重回归的python库.我发现的唯一的东西只做简单的回归.我需要对几个自变量(x1,x2,x3等)回归我的因变量(y).

例如,使用此数据:

print 'y        x1      x2       x3       x4      x5     x6       x7'
for t in texts:
    print "{:>7.1f}{:>10.2f}{:>9.2f}{:>9.2f}{:>10.2f}{:>7.2f}{:>7.2f}{:>9.2f}" /
   .format(t.y,t.x1,t.x2,t.x3,t.x4,t.x5,t.x6,t.x7)
Run Code Online (Sandbox Code Playgroud)

(以上输出:)

      y        x1       x2       x3        x4     x5     x6       x7
   -6.0     -4.95    -5.87    -0.76     14.73   4.02   0.20     0.45
   -5.0     -4.55    -4.52    -0.71     13.74   4.47   0.16     0.50
  -10.0    -10.96   -11.64    -0.98     15.49   4.18   0.19     0.53
   -5.0     -1.08    -3.36     0.75     24.72   4.96   0.16     0.60
   -8.0     -6.52    -7.45    -0.86     16.59   4.29   0.10     0.48
   -3.0     -0.81    -2.36    -0.50     22.44   4.81   0.15     0.53
   -6.0     -7.01    -7.33    -0.33 …
Run Code Online (Sandbox Code Playgroud)

python statistics numpy scipy linear-regression

119
推荐指数
6
解决办法
16万
查看次数

在ggplot上添加回归线

我正努力在ggplot上添加回归线.我首先尝试使用abline,但我没有设法让它工作.然后我尝试了这个......

data = data.frame(x.plot=rep(seq(1,5),10),y.plot=rnorm(50))
ggplot(data,aes(x.plot,y.plot))+stat_summary(fun.data=mean_cl_normal) +
   geom_smooth(method='lm',formula=data$y.plot~data$x.plot)
Run Code Online (Sandbox Code Playgroud)

但它也没有用.

regression r linear-regression ggplot2

101
推荐指数
4
解决办法
24万
查看次数

如何强制R在回归中使用指定的因子级别作为参考?

如果我在回归中使用二进制解释变量,如何告诉R使用某个级别作为参考?

它只是默认使用某个级别.

lm(x ~ y + as.factor(b)) 
Run Code Online (Sandbox Code Playgroud)

b {0, 1, 2, 3, 4}.假设我想使用3而不是R使用的零.

regression r linear-regression categorical-data dummy-variable

100
推荐指数
5
解决办法
16万
查看次数

线性回归和R中的分组

我想使用lm()函数在R中进行线性回归.我的数据是一年一度的时间序列,一年(22年),另一个州(50个州).我想为每个状态拟合一个回归,以便最后我有一个lm响应的向量.我可以想象为每个状态做循环然后在循环内进行回归并将每个回归的结果添加到向量.但是,这似乎不像R一样.在SAS中我会做一个'by'语句,在SQL中我会做'group by'.R的做法是什么?

regression r linear-regression lm

88
推荐指数
9
解决办法
6万
查看次数

使用matplotlib/numpy进行线性回归

我试图产生对我已经产生了散点图的线性回归,但是我的数据是在列表格式,所有的例子我能找到使用的polyfit要求使用arange.arange虽然不接受名单.我已经搜索了如何将列表转换为数组的高低,似乎没有什么是清楚的.我错过了什么吗?

接下来,我如何才能最好地使用整数列表作为输入polyfit

这是我遵循的polyfit示例:

from pylab import * 

x = arange(data) 
y = arange(data) 

m,b = polyfit(x, y, 1) 

plot(x, y, 'yo', x, m*x+b, '--k') 
show() 
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib curve-fitting linear-regression

75
推荐指数
5
解决办法
21万
查看次数

当我们可以解析地解决线性回归时,为什么梯度下降

在线性回归空间中使用Gradient Descent有什么好处?看起来我们可以通过分析方法解决问题(找到最小成本函数的θ0-n),那么为什么我们仍然希望使用梯度下降来做同样的事情呢?谢谢

machine-learning linear-regression gradient-descent

69
推荐指数
3
解决办法
2万
查看次数

使用python和numpy的梯度下降

def gradient(X_norm,y,theta,alpha,m,n,num_it):
    temp=np.array(np.zeros_like(theta,float))
    for i in range(0,num_it):
        h=np.dot(X_norm,theta)
        #temp[j]=theta[j]-(alpha/m)*(  np.sum( (h-y)*X_norm[:,j][np.newaxis,:] )  )
        temp[0]=theta[0]-(alpha/m)*(np.sum(h-y))
        temp[1]=theta[1]-(alpha/m)*(np.sum((h-y)*X_norm[:,1]))
        theta=temp
    return theta



X_norm,mean,std=featureScale(X)
#length of X (number of rows)
m=len(X)
X_norm=np.array([np.ones(m),X_norm])
n,m=np.shape(X_norm)
num_it=1500
alpha=0.01
theta=np.zeros(n,float)[:,np.newaxis]
X_norm=X_norm.transpose()
theta=gradient(X_norm,y,theta,alpha,m,n,num_it)
print theta
Run Code Online (Sandbox Code Playgroud)

从上面的代码我的theta是100.2 100.2,但它应该100.2 61.09在matlab中是正确的.

python numpy machine-learning linear-regression gradient-descent

56
推荐指数
3
解决办法
13万
查看次数

有没有比字符串操作更好的选择以编程方式构建公式?

其他人的功能似乎都采用了公式对象,然后在内心深处对他们进行黑暗魔法,我很嫉妒.

我正在编写一个适合多个模型的函数.这些模型的公式部分保持不变,从一个模型到下一个模型的部分变化.笨拙的方法是让用户输入公式部分作为字符串,对它们进行一些字符操作,然后使用as.formula.

但在我走这条路之前,我只是想确保我不会忽略一些更干净的方式,它允许函数接受标准R格式的公式(例如从其他公式使用的对象中提取).

我想要像......

> LHS <- y~1; RHS <- ~a+b; c(LHS,RHS);
y ~ a + b
> RHS2 <- ~c;
> c(LHS, RHS, RHS2);
y ~ a + b + c
Run Code Online (Sandbox Code Playgroud)

要么...

> LHS + RHS;
y ~ a + b
> LHS + RHS + RHS2;
y ~ a + b + c
Run Code Online (Sandbox Code Playgroud)

...但不幸的是,两种语法都不起作用 有人知道是否有什么事情可以做到吗?谢谢.

r linear-regression

51
推荐指数
1
解决办法
4364
查看次数