我对如何实现这一点感到有些迷茫。通常在处理线性模型时,我会进行线性回归,只需使用我的训练数据(x)和输出数据(y),然后使用matplotlib进行绘图。现在我有3个特征和我的输出/观察值(y)。有谁能指导我如何使用matplotlib绘制这种类型的模型吗?我的目标是拟合一个多项式模型,并使用matplotlib绘制多项式图形。
%matplotlib inlineimport sframe as frameimport matplotlib.pyplot as pltimport numpy as npfrom sklearn import datasets, linear_model# 初始化SFramesales = frame.SFrame('kc_house_data.gl/')# 将数据分成测试和训练数据 train_data,test_data = sales.random_split(.8,seed=0)# 组织数据为训练和测试数据 train_x = train_data[['sqft_living', 'bedrooms', 'bathrooms']].to_dataframe().valuestrain_y = train_data[['price']].to_dataframe().valuestest_x = test_data[['sqft_living', 'bedrooms', 'bathrooms']].to_dataframe().valuestest_y = test_data[['price']].to_dataframe().values# 使用sklearn创建多特征模型regr = linear_model.LinearRegression(fit_intercept=True, n_jobs=2)# 测试预测regr.predict(train_x)# 准备绘制数据
注意:
train_x变量包含我的3个特征,而train_y包含输出数据。我使用SFrame来存储数据。SFrame能够将自己转换为数据框(在Pandas中使用)。通过这种转换,我能够获取值。
回答:
与其一次性绘制具有多个离散特征的非线性模型,我发现单独观察每个特征与我的观察/输出值进行比较,对我的研究来说更有效也更简单。