统计学学习

实践-python实现回归分析

2020-02-16  本文已影响0人  HenlyX

作业:本周是统计学学习小组-第二期的第十三周,我们这周是python实践周,实现的内容是第十二周的回归分析部分,大家尝试着自定义函数实现上周的知识点,也可以调用python中自带的库实现。这次给大家提供的数据是汽车销售数据,各位可以使用数据进行实际操作

代码实现如下

#coding=utf-8

import sys

from sklearn.model_selectionimport train_test_split

import numpyas np

from sklearnimport datasets,linear_model

import pandasas pd

data = pd.read_csv('car_data.csv')

data = data.rename(columns={"券代码 ":'A',"日期":'B',"传统汽车销量":'C',"国内生产总值当季值(亿元)x1":'D',"汽油价格(元/吨)x2":'E',"人民币贷款基准利率%x3":'F',"汽车总产量(万辆)x4":'G',"公路里程数":'H',"汽车整车股票指数":'I',"消费者信心指数":'J'})

#print(data.head())

#print(data.describe())

#判断是否存在有特征值里面含有空值

# data.isnull().any()

#公路里程数存在空值,#将特征中的空值用均值进行填充

data['H']=data['H'].fillna(data['H'].mean())

#y = data.iloc[:,2]

#x = data.iloc[:, 3:5]

label = data[['J']].copy()

train=data.iloc[:,2:]

train=train.drop(['J'],axis=1)

print(train)

#结果见下:

#label

print(label)

# 训练数据#

# 将数据划分为训练集和测试集 #并且按照28的比例进行划分

x_train, x_test, y_train, y_test = train_test_split(train, label,test_size =0.2,random_state =1)

#训练回归模型

regr = linear_model.LinearRegression()

regr.fit(x_train,y_train)

#训练完进行预测

# print(x_test.dtypes)

#y_test=regr.predict(x_test)

y_pred=regr.predict(x_test)

# print(y_test.dtypes)

#将完全平方误差作为评价指标(MAE)

from sklearn.metricsimport mean_absolute_error

accs=mean_absolute_error(y_test['J'],y_pred)

#accs

print('coefficients(b1,b2...):',regr.coef_)

print('intercept(b0):',regr.intercept_)

# 预测数据

#y_pred = regr.predict(x_test)

# 查看模型得分

print(regr.score(x_test, y_test))

最终执行结果如下:

上一篇 下一篇

猜你喜欢

热点阅读