回归分析实践
导入包和读取数据
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
data=pd.read_csv("E:\data.csv")
data
结果如下:
#判断是否存在有特征值里面含有空值
data.isnull().any()
结果如下;
从上面可以看出特征值中,公路里程数存在空值。
#将特征中的空值用均值进行填充
data['公路里程数']=data['公路里程数'].fillna(data['公路里程数'].mean())
划分数据,将数据分为特征数据和标签数据。取特征数据中的有效数据特征。
label=data[['消费者信心指数']].copy()
train=data.iloc[:,2:]
train=train.drop(['消费者信心指数'],axis=1)
train
特征数据如下:
标签数据如下:
#将数据划分为训练集和测试集
#并且按照2:8的比例进行划分
train_x,test_x,train_y,test_y=train_test_split(train,label,test_size=0.2,random_state=1)
把数据进行训练和预测
#训练回归模型
lr=LinearRegression()
lr.fit(train_x,train_y)
#训练完进行预测
test_y['pred']=lr.predict(test_x)
test_y
预测结果如下:
我们将完全平方误差作为评价指标(MAE)
from sklearn.metrics import mean_absolute_error
accs=mean_absolute_error(test_y['消费者信心指数'],test_y['pred'])
accs
得到结果如下:
这是基本的回归分析的实践,后续可以从数据中挖掘有效的特征进行优化。然后我们也可以对数据进行处理然后看是否能优化。