本文共 1510 字,大约阅读时间需要 5 分钟。
任务即为回归
import pandas as pdimport numpy as np
from sklearn import datasetsboston = datasets.load_boston()X = boston.data #使用大写X,X包含多个小xy = boston.targetfeatures = boston.feature_namesboston_data = pd.DataFrame(X, columns=features)boston_data["PRICE"] = yboston_data.head()
这里选择线性回归模型
from sklearn import linear_model # 引入线性回归方法lin_reg = linear_model.LinearRegression() # 创建线性回归的类lin_reg.fit(X,y) # 输入特征X和因变量y进行训练print("模型系数:",lin_reg.coef_) # 输出模型的系数print("模型得分:",lin_reg.score(X,y)) # 输出模型的决定系数R^2
这里可以通过决定系数看出模型的好坏,不过回归模型没有参数可以调整。
线性回归假设目标值与特征之间线性相关,即满足一个多元一次方程。通过构建损失函数,来求解损失函数最小时的参数
线性回归中,我们假设因变量与特征之间的关系是线性关系,这样的假设使得模型很简单,但是缺点也是显然的,那就是当数据存在非线性关系时,我们使用线性回归模型进行预测会导致预测性能极其低下,因为模型的形式本身是线性的,无法表达数据中的非线性关系。我们一个很自然的想法就是去推广线性回归模型,使得推广后的模型更能表达非线性的关系。
交互项问题通过一些变换,让原本不服从线性关系的响应变量解释变量,转换成线性关系,广义可加模型GAM实际上是线性模型推广至非线性模型的一个框架,在这个框架中,每一个变量都用一个非线性函数来代替,但是模型本身保持整体可加性。GAM模型不仅仅可以用在线性回归的推广,还可以将线性分类模型进行推广。具体的推广形式是:
线性分类模型的推广主要指的是两类逻辑回归模型。转载地址:http://xagwi.baihongyu.com/