多项式回归模型做运费价格预测demo

多项式回归模型做运费价格预测

数据准备

数据源取系统应付结算单数据,数据需要经过清洗,具体为:

SELECT
	b.CODE,
	b.TRAVEL_MILES,
	b.WEIGHT,
	b.VOLUME,
	b.PS_NUM 
FROM
	base_settle b 
WHERE
	b.TRAVEL_MILES > 0 
	AND WEIGHT > 0 
	AND VOLUME > 0 
	AND PS_NUM > 0
	and code like 'AP%';

导包并读取数据源

import csv
import numpy as np
import pandas as pd
import os
source=pd.read_csv('C:/Users/liuhb41/Desktop/回归/settledata1.csv')
source

在这里插入图片描述

分割训练参数及结果

#分割X和Y
from sklearn.model_selection import train_test_split 
data_train, data_test = train_test_split(source, test_size=0.2, random_state=1234)

设置训练集X和Y

x_train=data_train.iloc[:,2:5]
x_train

在这里插入图片描述

将x转换为ndarray

x_train=x_train.values
x_train

在这里插入图片描述

设置训练集y

y_train=data_train['HJ_FEE']
y_train

在这里插入图片描述

进行数据多项式处理

from sklearn.preprocessing import PolynomialFeatures
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
d=3#多项式维度
rnd=np.random.RandomState(40)#设置随机数种子
x_train_p=PolynomialFeatures(degree=d,interaction_only=False).fit_transform(x_train)#对数据进行多项式处理

在这里插入图片描述

模型创建及预测

#创建线性回归模型
LinearR_=LinearRegression()
#模型预测
LinearR_.fit(x_train_p, y_train)

模型测试

#区分测试集X,Y
data_test
x_test=data_test.iloc[:,2:5]
y_test=data_test['HJ_FEE']
#预测
y_test_predict=LinearR_.predict(PolynomialFeatures(degree=d).fit_transform(x_test))

可用score函数查看评分,不断调优

score=LinearR_.score(x_train_p, y_train)
score
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值