【发布时间】:2014-12-13 10:29:48
【问题描述】:
我正在尝试创建适合数据集的线性模型的 3d 图。我能够在 R 中相对轻松地做到这一点,但我真的很难在 Python 中做到这一点。这是我在 R 中所做的:
这是我在 Python 中所做的:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import statsmodels.formula.api as sm
csv = pd.read_csv('http://www-bcf.usc.edu/~gareth/ISL/Advertising.csv', index_col=0)
model = sm.ols(formula='Sales ~ TV + Radio', data = csv)
fit = model.fit()
fit.summary()
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(csv['TV'], csv['Radio'], csv['Sales'], c='r', marker='o')
xx, yy = np.meshgrid(csv['TV'], csv['Radio'])
# Not what I expected :(
# ax.plot_surface(xx, yy, fit.fittedvalues)
ax.set_xlabel('TV')
ax.set_ylabel('Radio')
ax.set_zlabel('Sales')
plt.show()
我做错了什么,我应该怎么做?
谢谢。
【问题讨论】:
-
您介意提供您的代码吗?
标签: python matplotlib statistics linear-regression