问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sata如何三种回归结果比较异同

发布网友 发布时间:2022-12-24 00:46

我来回答

1个回答

热心网友 时间:2023-10-06 03:35

我在上一目粘了三种回归预测的标杆模型,以及评价方法。

今天具体跑一下,相较,变化不大,算是一个简单补充。

(用的windows,没装linux虚拟机,不要在吐槽,装了linux,还要重新打各种包,对于一个调包侠来说,实在过于繁琐。)

1.还是先跑简单线性

# -*- coding: utf-8 -*- # 引入模块 import pandas as pd from sklearn.linear_model import LinearRegression # 读取数据 train = pd.read_csv("data/train1.csv") test = pd.read_csv("data/test1.csv") submit = pd.read_csv("data/sample_submit.csv") # 删除id train.drop('id', axis=1, inplace=True) test.drop('id', axis=1, inplace=True) # 取出训练集的y y_train = train.pop('y') # 建立线性回归模型 reg = LinearRegression() reg.fit(train, y_train) #y_pred = reg.predict(test) # 若预测值是负数,则取0 #y_pred = map(lambda x: x if x >= 0 else 0, y_pred) # 输出预测结果至my_XGB_prediction.csv #submit['y'] = y_pred #submit.to_csv('data/my_linearRegression_prediction22.csv', index=False) print reg.coef_ from sklearn import metrics import numpy as np rmse=np.sqrt(metrics.mean_squared_error(y_train, reg.predict(train))) print 'linearRegression rmse为%f'%rmse #linearRegression rmse为38.920108
rmse指数为38(具体计算见上一目),三种里面直线回归是最差的。

2.决策树预测

# -*- coding: utf-8 -*- # 引入模块 import pandas as pd from sklearn.tree import DecisionTreeRegressor# 读取数据 train = pd.read_csv("data/train1.csv") test = pd.read_csv("data/test1.csv") submit = pd.read_csv("data/sample_submit.csv") # 删除id train.drop('id', axis=1, inplace=True) test.drop('id', axis=1, inplace=True) # 取出训练集的y y_train = train.pop('y') reg = DecisionTreeRegressor(max_depth=5) reg.fit(train, y_train) #y_pred = reg.predict(test) # 输出预测结果至my_tdr_prediction.csv #submit['y'] = y_pred #submit.to_csv('data/my_tdr_prediction22.csv', index=False) from sklearn import metrics import numpy as np rmse=np.sqrt(metrics.mean_squared_error(y_train, reg.predict(train))) print ' rmse为%f'%rmse #linearRegression rmse为38.920108 # rmse为27.865298
rmse的指数为27,比线性好

3.xgboots

# -*- coding: utf-8 -*- #python 3有xgboots # 引入模块 import pandas as pd from xgboost import XGBRegressor # 读取数据 train = pd.read_csv("data/train1.csv") test = pd.read_csv("data/test1.csv") submit = pd.read_csv("data/sample_submit.csv") # 删除id train.drop('id', axis=1, inplace=True) test.drop('id', axis=1, inplace=True) # 取出训练集的y y_train = train.pop('y') # 建立一个默认的xgboost回归模型 reg = XGBRegressor() reg.fit(train, y_train) #y_pred = reg.predict(test) # 输出预测结果至my_XGB_prediction.csv #submit['y'] = y_pred #submit.to_csv('data/my_XGB_prediction22.csv', index=False) from sklearn import metrics import numpy as np rmse=np.sqrt(metrics.mean_squared_error(y_train, reg.predict(train))) print (rmse) #18.5718185229
注意python2是没有这个包,所以此处是3.x版本。可以看到print已经是函数了

rmse为18,三种模型是效果最好。

4.做一个决策树的特征工程分析

import pandas as pd # 读取数据 train = pd.read_csv("data/train1.csv") test = pd.read_csv("data/test1.csv") submit = pd.read_csv("data/sample_submit.csv") # 删除id train.drop('id', axis=1, inplace=True) test.drop('id', axis=1, inplace=True) # 取出训练集的y y_train = train.pop('y') from sklearn import metrics from sklearn.ensemble import ExtraTreesClassifier model = ExtraTreesClassifier() model.fit(train, y_train) # display the relative importance of each attribute print model.feature_importances_
第一个变量的信息载量最少,考虑将其删除

5.删除city变量

效果并没有变好,所以保留原变量。

用xgboots进行predict
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
心理咨询师培训怎么收费标准是多少 2024心理咨询师培训费用是多少钱 心理咨询师培训费用大概是多少 心理咨询师培训课程收费标准 新蒙迪欧空调怎么用? 福特蒙迪欧16款2.0T冷车启动怠速会一抖一抖的是什么情况 牛油果冻了还能吃不 牛油果冻过了能吃吗 泰兴人很有钱吗? 江苏有多少百万人口以上的城市 烟台摩托车交强险银行卡怎么买 手机外接无线网卡驱动 手机可以用无线网卡吗 微信被封号了,打人工客服解封电话号码是多少?请说人工客服电话号码是多少?我不会发短信解封? 大众点评绑定店铺需要多久 大众点评开店要钱吗? 微信银行卡限额怎么改 家里老人去世供他们的像片怎样处理? 请问高尔夫球怎么算学费? 大脚趾甲变厚怎么办啊? 一枚脚趾甲悲情地变厚了,该怎么办哪?! 天猫积分什么时候过期? 新破壁机第一次使用如何清洗 新破壁机第一次使用怎么清洗 ps制作公章,像素500*500透明。插入到word和a4纸扫描件中,公章太大。要怎 梦见死去的人给我钱又被人偷走了啥意思自己的钱包钱多了 梦见死去的丈夫被骗 梦见死去的丈夫跟我说话并且他还拿走了我五百元钱以后走了 禁止按喇叭的标志是什么 夏季怎么挑选西瓜 夏日挑选好西瓜的几个方法 长智齿牙疼可以经常喝开水吗? 龉齿痛造成脸肿痛怎么办? 做肉丸子需要什么材料才能有弹性 英国利兹大学研究生学费 etc必须要车主本人才能办理么 快手可以用快手直播伴侣直播电台直播吗 理解错别人意思叫什么效应 是不是天天爱抬杠的人是心理扭曲,对你看不惯? 专升本好还是复读好 对于这个以脸看人的社会,你有什么看法吗 达克效应有哪些意思? 为什么认识的人也可以说你傻,不认识的人也可以说你傻,你不可以说他们傻? 美容养颜瘦身瘦腿的方案 微信被封号了,打人工客服解封电话号码是多少?请说人工客服电话号码是多少?我不会发短信解封? 急求美剧巨逗反映文化差异的桥段!快! 可口可乐和百事的广告战略在美国和印度的文化差异 案件分析 根据吉尔特·霍夫斯塔德的文化分类理论 2022永城中考总分 豪猪刺泡酒能不能加冰糖 野生刺猪胃的药用价值 刺猪肚子泡酒须要清洗吗