算法模型①

一元线性回归模型与多远线性回归模型

一元线性回归模型:

公式:

y=ax+b

多元线性回归模型:

公式:

y=ax+ax1+ax2+...+b

区别就在于有不同的函数


 

常用数学符号以及读法:

 

 


 

散点图:

 

 计算公式:

 

 因变量与自变量的概念:

在函数关系式中,某个量会随一个(或几个)变动的量的变动而变动,就称为因变量。如:y=f(x)

此式表示为:Y随X的变化而变化。Y是因变量,X是自变量。

 

 自变量概述图:

 

 如何判断两个变量之间是否存在线性关系与非线性关系

1.散点图:

X = [52,19,7,33,2]
Y = [162,61,22,100,6]
plt.scatter(X,Y)
plt.show()

 

 2.公式计算

通过公式计算的出的结果:

大于等于0.8表示高度相关
绝对值大于等于0.5小于等于0.8表示中度相关
绝对值大于等于0.3小于0.5表示弱相关
绝对值小于0.3表示几乎不相关(需要注意这里的不相干指的是没有线性关系 可能两者之间有其他关系)

公式固定代码:

        import numpy
        import pandas
        X = [52,19,7,33,2]
        Y = [162,61,22,100,6]
        # 1.公式计算#均值
        XMean = numpy.mean(X)
        YMean = numpy.mean(Y)
        # 标准差
        XSD = numpy.std(X)
        YSD = numpy.std(Y)
        # z分数
        ZX = (X-XMean)/XSD
        ZY = (Y-YMean)/YSD  
        # 相关系数
        r = numpy.sum(ZX*ZY)/(len(X))
        # 2.numpy中的corrcoef方法直接计算
        t=numpy.corrcoef(X,Y)
        # 3.pandas中的corr方法直接计算
        data = pandas.DataFrame({'X':X,'Y':Y})
        t2=data.corr()

 

 训练集与测试集:

训练集用于模型的训练创建  测试集用于模型的测试检验
   一般情况下训练集占总数据的80%、测试集占总数占20%
 

哑变量:

在生成算法模型的时候有些变量可能并不是数字无法直接带入公式计算
    此时可以构造哑变量 >>> C(State)

自定义哑变量:

 

 将哑变量与原始数据集水平合并

 

 删除State变量和California变量

 

  拆分数据集Profit_New

 

 建模:

model2 = sm.formula.ols('Profit~RD_Spend+Administration+Marketing_Spend+Florida+California', data = train).fit()
print('模型的偏回归系数分别为:\n', model2.params)

 

posted @ 2021-10-21 22:28  查无此人cxc  阅读(221)  评论(0编辑  收藏  举报