线性回归的代码实现

it2026-03-04  4

一元线性回归

import statsmodel.api as sm sm.ols(formula,data,subset=None,drop_cols=None) #formula:以字符串的形式指定线性回归模型的公式,如’y~x'就表示简单线性回归模型 #data:指定建模的数据集 #subset:通过bool类型的数组对象,获取data的子集用于建模 #drop_cols:指定需要从data中删除的变量

例子完整代码

import pandas as pd import statsmodels.api as sm income = pd.read_csv('salary_data.csv') fit = sm.formula.ols('salary ~ YearsExpperience',data = income).fit() fit.params

多元线性回归

#导入模块 import pandas as pd from sklearn import model_selection #导入数据 profit = pd.read_excel(r'predict to profit.xlsx') train,test = model_selection.train_test_split(profit,test_size = 0.2,ranndom_state=1234) #根据train数据集建模,不是数值型变量添加时应在前面加c model = sm.formula.ols('profit ~ RD_Spend+Administration+Marketing_Spend+C(State',data = train).fit() print('模型的偏回归系数分别为:\n',model.params) #删除test数据集中的profit变量,用剩下的自变量进行预测 test_X = test.drop(labels = 'profit',axis = 1) pred = model.predict(exog = test_X) print('对比预测值和实际值的差异:\n',pd.Dataframe({'prediction':pred,'Real':test.profit}))
最新回复(0)