通过scikit-learn进行线性回归尝试

线性模型是在机器学习中最先接触到的数学模型,通过对多组数值对进行拟合,从而最终得出自变量与因变量之间的线性关系。本片之中并不对线性模型进行阐述而是主要通过python的类库scikit-learn进行线性回归的相关尝试。

1.数据源导入

我们在使用scikit-learn的时候可以选择类库内部自带的数据集,也可以使用pandas读取csv格式的数据,同样也可以自行定义dataframe格式变量数据。数据文件中是以t、x、y三个变量作为列头。

import pandas as pd
df=pd.read_csv('data.csv')
data_X = df[['x']]
data_y = df[['y']]

而选择 类库内部自带的数据集,可以使用这种方法进行调用。我们可以通过print查看数据的结构以及内容。

from sklearn import datasets
from numpy import shape
loaded_data = datasets.load_boston()
print(shape(data_X))
print(shape(data_y))
print(data_X)
print(data_y)

 2.设置训练集与测试集

from sklearn import model_selection
X_train, X_test, y_train, y_test = model_selection.train_test_split(data_X, data_y, test_size=0.2)
print(shape(X_train))
print(shape(X_test))

 3.选择线性模型、进行训练

from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
print (model.coef_)
print (model.intercept_)
y_pred = model.predict(X_test)

4.输出测试与交叉检验MSE

from sklearn import metrics
print (metrics.mean_squared_error(y_test, y_pred))
from sklearn.model_selection import cross_val_predict
predicted = cross_val_predict(model, data_X, data_y, cv=10)
print(metrics.mean_squared_error(data_y, predicted))

5.作图观察

import matplotlib.pyplot as plt
plt.scatter(data_y, predicted, color='y', marker='o')
plt.scatter(data_y, data_y,color='g', marker='+')
plt.show()

 当下这个例子只是简单的对数据进行拟合,展示拟合效果与结果,更多的精确分析还需在之后的文章中进行展开。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值