sklearn线性回归官方实例学习

sklearn线性回归官方实例学习(一)

# 导包
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets,linear_model
from sklearn.metrics import mean_squared_error,r2_score
# 加载数据集
diabetes_X, diabetes_y = datasets.load_diabetes(return_X_y=True)
# 初始数据集的结构
diabetes_X.shape
(442, 10)
# 只选取一个特征之后的结构,变为了一维数组,不再是矩阵,不适合接下来使用,所以应使用 diabetes_X = diabetes_X[:, np.newaxis, 2]
diabetes_X = diabetes_X[:, 2]
diabetes_X.shape
(442,)
# np.newaxis作为第一个参数是对行增加维度,作为第二个参数是对列增加维度
diabetes_X = diabetes_X[:, np.newaxis]
diabetes_X.shape
(442, 1, 10)
# 这里只使用一个特征
diabetes_X = diabetes_X[:, np.newaxis, 2]
diabetes_X.shape
(442, 1)
# 划分特征 训练集和测试集
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]
# 划分标签训练集、测试集
diabetes_y_train = diabetes_y[:-20]
diabetes_y_test = diabetes_y[-20:]
# 实例化线性回归模型
regr = linear_model.LinearRegression()
# 若需要拟合非负的参数,如某些物理量,可使用regr = linear_model.LinearRegression(positive=True)

# 使用训练集训练模型
regr.fit(diabetes_X_train, diabetes_y_train)

# 使用测试集测试模型

diabetes_y_pred = regr.predict(diabetes_X_test)

# 查看模型结果和验证模型效果

# The coefficients
print("Coefficients: \n", regr.coef_)
# The mean squared error
print("Mean squared error: %.2f" % mean_squared_error(diabetes_y_test, diabetes_y_pred))
# The coefficient of determination: 1 is perfect prediction
print("Coefficient of determination: %.2f" % r2_score(diabetes_y_test, diabetes_y_pred))
Coefficients: 
 [938.23786125]
Mean squared error: 2548.07
Coefficient of determination: 0.47
# 可视化
plt.scatter(diabetes_X_test, diabetes_y_test, color="black")
plt.plot(diabetes_X_test, diabetes_y_pred, color="blue", linewidth=3)

plt.xticks(())
plt.yticks(())

plt.show()

在这里插入图片描述

sklearn官方该示例传送门

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Python中的sklearn库提供了线性回归的实现。线性回归是一种用于建立线性关系的统计学方法,它可以用来预测一个变量与其他变量之间的关系。在sklearn中,可以使用LinearRegression类来实现线性回归。该类提供了fit()方法来拟合模型,predict()方法来进行预测,以及score()方法来评估模型的性能。线性回归机器学习中最基本的模型之一,也是许多其他模型的基础。 ### 回答2: Python中的sklearn库是机器学习中常用的工具之一,其支持多种算法和模型的实现。其中线性回归是最简单的一类回归算法之一,能够分析两个变量之间的线性关系,用来预测一个因变量(Y)的数值。 在sklearn中进行线性回归时,需要进行以下步骤: 1. 导入模型库和数据集 首先需要导入模型库和数据集。sklearn提供了Boston Housing数据集,可以使用该数据集进行线性回归的练习。 from sklearn import datasets, linear_model from sklearn.model_selection import train_test_split boston = datasets.load_boston() 2. 数据预处理 通常需要对数据进行处理,包括分离数据集、标准化数据、处理缺失值等。在本例中,只需要分离数据集和标准化数据。 X_train, X_test, Y_train, Y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=42) #分离数据集 from sklearn.preprocessing import StandardScaler scaler = StandardScaler().fit(X_train) #标准化数据 X_train = scaler.transform(X_train) X_test = scaler.transform(X_test) 3. 模型拟合 使用sklearn中的线性回归模型进行拟合,其中需要调用fit方法。 lin_reg = linear_model.LinearRegression() lin_reg.fit(X_train, Y_train) 4. 预测 使用训练好的模型进行预测,其中需要调用predict方法。 Y_pred = lin_reg.predict(X_test) 5. 模型评估 使用sklearn中的metrics库进行模型评估,比如使用均方误差(MSE)和决定系数(R^2)。 from sklearn.metrics import mean_squared_error, r2_score MSE = mean_squared_error(Y_test, Y_pred) R2 = r2_score(Y_test, Y_pred) 以上就是使用sklearn进行线性回归的基本步骤。需要注意的是,这只是最基本的操作,实际应用中还需要考虑特征的选择、模型参数的调整等问题。 ### 回答3: Python的scikit-learn (sklearn)库是一个重要的机器学习工具,它包含了多种算法,其中包括了线性回归的实现。 线性回归是一种基本的、经典的回归分析方法,它建立了一个线性的关系模型,根据自变量与因变量之间的线性关系来进行预测分析,常用于预测数值型的数据。线性回归也是机器学习中最为基础的模型,它的算法通常是初学者的入门学习内容。 Pythonsklearn库提供了一个方便的线性回归函数LinearRegression,可以直接对数据进行拟合分析。我们可以在Python代码中先导入LinearRegression,然后对一组样本数据进行拟合,并进行预测。 具体步骤如下: 1. 导入sklearn库 ```python from sklearn.linear_model import LinearRegression ``` 2. 准备数据 ```python x = [[1, 2, 3], [4, 5, 6]] y = [4, 5] ``` 3. 建立模型 ```python linear_reg = LinearRegression() ``` 4. 拟合数据 ```python linear_reg.fit(x, y) ``` 5. 预测数据 ```python linear_reg.predict([[7, 8, 9]]) ``` 这个例子中,我们将两个样本传入x中,对应的目标输出结果为y=[4, 5]。接下来,我们建立LinearRegression对象,并将x和y传入fit()函数中进行拟合。最后,我们使用predict()函数对新数据进行预测,得到的输出结果为[6.]。 线性回归的优点是模型简单,易于理解和实现,同时对于大量数据集仍有很好的性能。 但是,在某些多维情况下,线性模型的性能可能并不好,同时它对于非线性模型的处理很困难。因此,在实践中,我们需要根据具体应用场景选择适当的算法和模型。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒浮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值