回归线性模型的操作
1.一元线性回归模型
#一元线性回归模型
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#导入数据集 E:\app\Anaconda\数据挖掘\数据挖掘源代码\第7章 线性回归模型
#导入数据集 E:\jupyter.notebook
income = pd.read_csv (r'E:\jupyter.notebook\Salary_Data.csv')
# 绘制散点图
sns.lmplot(x = 'YearsExperience', y = 'Salary', data = income, ci = None)
# 显示图形
plt.show()
2.拟和线的求解
#拟合线的求解
# 简单线性回归模型的参数求解
# 样本量
n = income.shape[0]
# 计算自变量、因变量、自变量平方、自变量与因变量乘积的和
sum_x = income.YearsExperience.sum()
sum_y = income.Salary.sum()
sum_x2 = income.YearsExperience.pow(2).sum()
xy = income.YearsExperience * income.Salary
sum_xy = xy.sum()
# 根据公式计算回归模型的参数
b = (sum_xy-sum_x*sum_y/n)/(sum_x2-sum_x**2/n)
a = income.Salary.mean()-b*income.YearsExperience.mean()
# 打印出计算结果
print('回归参数a的值:',a)
print('回归参数b的值:',b)
结果显示为:
回归参数a的值: 25792.200198668666
回归参数b的值: 9449.962321455081
3.导入第三方库
# 导入第三方模块
import statsmodels.api as sm
# 利用收入数据集,构建回归模型
fit = sm.formula.ols('Salary ~ YearsExperience', data = income).fit()
# 返回模型的参数值
fit.params
结果显示为:
Intercept 25792.200199
YearsExperience 9449.962321
dtype: float64
关于这个的学习是一点点来的,在CSDN中来记录自己的成长进步