线性回归:Sklearn与Excel
大约13年前 , DavidCournapeau的Scikitlearn作为GoogleSummerofCode项目的一部分开始 。 随着时间的推移 , Scikitlearn成为Python中最著名的机器学习库之一 。 它提供了几种分类、回归和聚类算法 , 在我看来 , 它的关键优势是与Numpy、Pandas和Scipy无缝集成 。
目的此比较旨在了解excel和Scikitlearn中线性回归的预测精度 。 另外 , 我将简要介绍在excel中执行线性回归的过程 。
示例数据文件为了进行比较 , 我们将使用10万个降水量、最低温度、最高温度和风速的数据集 。 工作人员在8年中的每一天进行测量多次从而得到了这些数据 。
我们将利用降水量、最低气温和最高气温来预测风速 。 因此 , 风速是因变量 , 其他数据是自变量 。
我们将用这个公式来预测测试数据集的风速 , 测试集数据是excel没有用于训练的数据 。
例如 , 对于第一个测试数据集 , 风速=2.438+(0.51*0.026)+(17.78*0.393)+(25.56*0.395)=19.55
fromsklearn.preprocessingimportStandardScalerfromsklearn.linear_modelimportLinearRegressionfromsklearn.metricsimportr2_scoreimportpandasaspdimportnumpyasnpimportmatplotlib.pyplotasplt第2步-将训练数据和测试数据分别从excel文件读取到PandasDataframe作为训练数据和测试数据 。
Training_data=https://pcff.toutiao.jxnews.com.cn/p/20200828/pd.read_excel(“Weather.xlsx”,sheet_name=”Sheet1")Test_data=https://pcff.toutiao.jxnews.com.cn/p/20200828/pd.read_excel(“WeatherTest.xlsx”,sheet_name=”Sheet1")在本文中 , 我将不着重于初步的数据质量检查 , 如空白值、离群值等以及相应的校正方法
第3步-在下面的代码中 , 我们声明了除“风速”外的所有列数据为自变量 , 只有“风速”作为因变量用于训练和测试数据 。 请注意 , 我们不会使用“SourceData_test_dependent”进行线性回归 , 而是将预测值与其进行比较 。
SourceData_train_independent=Training_data.drop(["WindSpeed"],axis=1)#从训练数据集中删除WindSpeed变量SourceData_train_dependent=Training_data["WindSpeed"].copy()#训练数据集只有自变量SourceData_test_independent=Test_data.drop(["WindSpeed"],axis=1)SourceData_test_dependent=Test_data["WindSpeed"].copy()第4步-由于独立变量的范围是完全不同的 , 因此我们需要调整它以避免有些变量范围大 , 有些变量范围小导致的性能影响 。 在下面的代码中 , 自变量被缩放 , 并分别保存到X-train和X_test 。 在y_train中 , 相关训练变量被保存而不缩放 。
sc_X=StandardScaler()X_train=sc_X.fit_transform(SourceData_train_independent.values)#缩放自变量y_train=SourceData_train_dependent#因变量不需要缩放X_test=sc_X.transform(SourceData_test_independent)y_test=SourceData_test_dependent第5步-现在我们将分别输入独立和因变量数据 , 即X_train和y_train , 以训练线性回归模型 。 出于本文开头提到的原因 , 我们将使用默认参数执行模型拟合 。
reg=LinearRegression().fit(X_train,y_train)print("TheLinearregressionscoreontrainingdatais",round(reg.score(X_train,y_train),2))训练数据的线性回归得分与我们用excel观察到的结果一致 。
推荐阅读
- 麦田|北回归线上也有麦田,从化这里能看麦浪滚滚
- s蛋白|Cell Reports:新冠病毒S蛋白线性表位全景图
- 上海|上海过去半个月近7成是雨日,“流浪太阳”何时回归?本周见分晓
- 张柏芝出道即巅峰,途中兜兜转转,如今还是选择了回归家庭。
- 回归产品,回归用户,会是视频会议的新出路?
- 林青霞时隔6年回归微博!自晒“年轻的时候”绝世美照 狂吸网友点赞
- 托蒂回归!新老板给罗马的新年礼物
- 跨越25年的呼唤——68件流失英国文物回归祖国怀抱
- 文物|跨越25年的呼唤 68件流失英国文物回归祖国怀抱
- vivo|vivo详解OriginOS:回归用户本原坚持开放合作
