将 R 线性模型重写为 Python

发布于 2025-01-20 07:29:47 字数 463 浏览 0 评论 0原文

帮助将 R 线性模型重写为 Python。 R 代码:

x <- rnorm(10)
y <- 1+x+rnorm(10)
model <- lm(y~x)
res = summary(model)$r.squared
print(res)

Python 代码抛出错误 - “用序列设置数组元素”。好像少了点什么,看不懂

x = np.random.normal(0, 1, 10)
y = [1 + np.random.normal() + v for v in x]
new_list = [x, y]
array = np.array(new_list)
df = pd.DataFrame({'x': [x], 'y': [y]})
model = LinearRegression()
X, y = df[['x', 'y']], df
model.fit(X, y)

Help to rewrite R linear model to Python.
R code:

x <- rnorm(10)
y <- 1+x+rnorm(10)
model <- lm(y~x)
res = summary(model)$r.squared
print(res)

Python code throws an error - 'setting an array element with a sequence'. It seems it lacks something, i can't understand what

x = np.random.normal(0, 1, 10)
y = [1 + np.random.normal() + v for v in x]
new_list = [x, y]
array = np.array(new_list)
df = pd.DataFrame({'x': [x], 'y': [y]})
model = LinearRegression()
X, y = df[['x', 'y']], df
model.fit(X, y)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦晓ヶ微光ヅ倾城 2025-01-27 07:29:47

statsmodels 库提供了一个简单的线性回归实现,具有与 R 类似的汇总表。您可以找到文档 在这里

Python:

import numpy as np
import statsmodels.api as sm

x = np.random.normal(0, 1, 10)
y = [1 + np.random.normal() + v for v in x]

#add intercept to x
x = sm.add_constant(x)

#statsmodels ordinary linear regression
model = sm.OLS(y, x)
results = model.fit()

print(results.summary())

The statsmodels library provides an easy linear regression implementation with a similar summary table as R. You can find the documentation here.

Python:

import numpy as np
import statsmodels.api as sm

x = np.random.normal(0, 1, 10)
y = [1 + np.random.normal() + v for v in x]

#add intercept to x
x = sm.add_constant(x)

#statsmodels ordinary linear regression
model = sm.OLS(y, x)
results = model.fit()

print(results.summary())
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文