人工智能-线性回归2--房价预测、欠拟合过拟合、正则化、模型保存加载
创始人
2024-01-25 16:05:49
0

7,案例:波士顿房价预测

回归性能评估MSE

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression,SGDRegressor
from sklearn.meyrics import mean_squared_error#线性回归:正规方程
def linear_model():#1,获取数据boson = load_boston()print(boston)#2,数据基本处理#2.1 分割数据x_train,x_test,y_train.y_test = 			 train_test_split(boston.data,boston.target,test_size=0.2)#3,特征工程-标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.fit_transform(x_test)##4,机器学习-线性回归estimator = LinearRegression()estimator.fit(x_train,y_train)print('这个模型的偏置是:\n',estimator.intercept_)print('这个模型的系数是:\n',estimator.coef_)#5,模型评估#5.1 预测值y_pre = estimator.predict(x_test)print('预测值是:\n',y_pre)#5.2 均方误差ret = mean_squared_error(y_test,y_pre)print('均方误差是:\n',ret)linear_model()

和上面的区别就是,线性回归调用模型名不同,其余代码一样

from sklearn.linear_model import SGDRegressor
#线性回归:梯度下降法
def linear_model2():#1,获取数据boson = load_boston()print(boston)#2,数据基本处理#2.1 分割数据x_train,x_test,y_train.y_test = 			 train_test_split(boston.data,boston.target,test_size=0.2)#3,特征工程-标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.fit_transform(x_test)##4,机器学习-线性回归#estimator = SGDRegressor(max_iter = 1000,learning_rate='constant',eta0=1)estimator = SGDRegressor(max_iter = 1000)estimator.fit(x_train,y_train)print('这个模型的偏置是:\n',estimator.intercept_)print('这个模型的系数是:\n',estimator.coef_)#5,模型评估#5.1 预测值y_pre = estimator.predict(x_test)print('预测值是:\n',y_pre)#5.2 均方误差ret = mean_squared_error(y_test,y_pre)print('均方误差是:\n',ret)linear_model2()

8,欠拟合与过拟合

过拟合—模型过于复杂
欠拟合—模型过于简单

欠拟合

原因:学习到数据的特征过少
解决:添加其他特征项,添加多项式特征

欠拟合

原因:原始特征太多,存在一些嘈杂特征
解决:重新清洗数据、增大数据的训练量、正则化、减少特征维度,防止维灾难

正则化

正则化:解决回归过拟合问题,数据提供的特征有些影响模型复杂度或者这个特征的数据点异常较多,算法在学习时尽量减少这个特征的影响(删除某个特征的影响)
类别:

  • L2正则化
    作用:可以使得其中一些w都很小,接近0,削弱某个特征的影响
    优点:越小的参赛说明模型越简单,越简单的模型则越不容易产生过拟合
    Ridge回归

  • L1正则化
    作用:可以使得其中一些W的值直接为0,删除这个特征的影响
    LASSO回归

维灾难:随着特征越来越多,一开始效果会变好,到达某顶点后,后面则会变差

9,正则化线性模型

岭回归、Lasso回归、弹性网络

10,岭回归

在这里插入图片描述
正则化力度a越大,权重系数越小
正则化力度越小,权重系数越大

from sklearn.linear_model import Ridge
#线性回归:岭回归
def linear_model3():#1,获取数据boson = load_boston()print(boston)#2,数据基本处理#2.1 分割数据x_train,x_test,y_train.y_test = 			 train_test_split(boston.data,boston.target,test_size=0.2)#3,特征工程-标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.fit_transform(x_test)##4,机器学习-线性回归#estimator = Ridge(alpha=1.0)estimator = RidgeCV(alphas=(0.001,0.01,0.1,1,10,100))estimator.fit(x_train,y_train)print('这个模型的偏置是:\n',estimator.intercept_)print('这个模型的系数是:\n',estimator.coef_)#5,模型评估#5.1 预测值y_pre = estimator.predict(x_test)print('预测值是:\n',y_pre)#5.2 均方误差ret = mean_squared_error(y_test,y_pre)print('均方误差是:\n',ret)
if __name__ = '__main__':linear_model3()

11,模型的保存和加载

API
在这里插入图片描述
增加个4.2

from sklearn.externals import joblib
def dump_load():#1,获取数据boson = load_boston()print(boston)#2,数据基本处理#2.1 分割数据x_train,x_test,y_train.y_test = 			 train_test_split(boston.data,boston.target,test_size=0.2)#3,特征工程-标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.fit_transform(x_test)##4,机器学习-线性回归#4.1 模型训练#estimator = Ridge(alpha=1.0)estimator = RidgeCV(alphas=(0.001,0.01,0.1,1,10,100))estimator.fit(x_train,y_train)print('这个模型的偏置是:\n',estimator.intercept_)print('这个模型的系数是:\n',estimator.coef_)#4.2 模型保存joblib.dump(estimator,'./data/test.pkl')  #运行后目录上多出个test.pkl文件#5,模型评估#5.1 预测值y_pre = estimator.predict(x_test)print('预测值是:\n',y_pre)#5.2 均方误差ret = mean_squared_error(y_test,y_pre)print('均方误差是:\n',ret)
if __name__ = '__main__':linear_model3()
#调用
estimator = joblib.load('./data/test.pkl')  #加载出了保存着的模型

保存模型,后缀是pkl

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...