我正在尝试学习如何拟合二次回归模型。可以从以下位置下载数据集:https://filebin.net/ztr9har5nio7x78v
将目标变量设为“ AdjSalePrice”,将预测变量设为“ SqFtTotLiving”,“ SqFtLot”,“ Bathrooms”,“ Bedrooms”和“ BldgGrade”。
想象一下,“ SqFtTotLiving”将是具有2度的变量。是python代码:
import pandas as pd
import numpy as np
import statsmodels.api as sm
import sklearn
houses = pd.read_csv("house_sales.csv", sep = '\t')#separador é tab
colunas = ["AdjSalePrice","SqFtTotLiving","SqFtLot","Bathrooms","Bedrooms","BldgGrade"]
houses1 = houses[colunas]
X = houses1.iloc[:,1:] ##
y = houses1.iloc[:,0] ##
如何使用sklearn和statsmodel拟合二次回归模型?我只能使用线性回归...
from sklearn.preprocessing import PolynomialFeatures
from sklearn import linear_model
poly = PolynomialFeatures(degree=2)
poly_variables = poly.fit_transform(x)
poly_var_train, poly_var_test, res_train, res_test = train_test_split(poly_variables, results, test_size = 0.3, random_state = 4)
regression = linear_model.LinearRegression()
model = regression.fit(poly_var_train, res_train)
testing_score = model.score(poly_var_test, res_test)