python 基础(26)
今天来讲讲线性回归模型,我们上学的时候都学习过,线性回归的思想其实就是解方程,得到回归函数。具体就是研究因变量Y和自变量X之间的关系。如果只有一个X就叫一元线性回归,如果有多个X(X1,X2,X3...)就叫多元线性回归。
在python中就有sklearn这个库提供了线性回归模型(liner_model.LinearRegression)来实现线性回归。我们举个简单的例子,看看整个流程是如何进行的:
from sklearn import d
test = linear_model.LinearRegression()
X = [[1,1],[2,1],[3,1]]
Y = [3,4,5]
test.fit(X,Y)
print(test.coef_)
print(test.intercept)
通过fit函数,我们已经对X,Y进行了回归计算了。
其中,coef_存放的是回归系数,intercept_存放的是截距,方程就是这两变量的取值。当然,这模型也会存在一些问题,例如过拟合,欠拟合。先说说欠拟合,欠拟合就是模型没有很好的捕捉数据的特征,不能够很好的拟合数据。就像,把本来是抛物线的模型,机器做了个一元一次方程,那就是欠拟合了。通常的解决方法就是添加其他特征项或者降低正则化参数的值。
而过拟合就是,原本是条直线,拟合出一条抛物线,过度学习了训练数据中的细节和噪音,导致模型在新的数据集里面表现不佳。这时候我们通常会重新清洗数据或者增大数据的训练量。
我们也可以用 matplotlib来画出图形,先导入matplotlib库,:
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
然后创建画布,figure,title,X轴Y轴
plt.figure(figsize=size)
因为上面的数据是虚拟构建的,数据有些问题,所以画不出啥来。但当我们用于实际问题中,很容易看出来离散程度,或者说异常值,当然我们构造模型的时候,不需要追求模型过于复杂,适用就好。
转载自:https://juejin.cn/post/7068814011449475103