如何使用Sklearn库实现线性回归

简介: 使用Sklearn实现线性回归的步骤:导入numpy, matplotlib, LinearRegression, train_test_split和metrics模块;准备数据集;划分训练集和测试集;创建线性回归模型;训练模型并预测;计算MSE和R²评估性能;可视化预测结果。示例代码展示了这些步骤,包括数据生成、模型训练及结果展示。

要使用Sklearn库实现线性回归,可以按照以下步骤进行操作:

  1. 导入所需的库和模块。
  2. 准备数据集。
  3. 划分训练集和测试集。
  4. 创建线性回归模型并设置参数。
  5. 训练模型并进行预测。
  6. 评估模型性能。
  7. 可视化结果。

以下是具体的代码实现:

# 导入所需的库和模块
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score

# 准备数据集
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([2, 4, 6, 8, 10])

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建线性回归模型并设置参数
lr = LinearRegression()

# 训练模型并进行预测
lr.fit(X_train, y_train)
y_pred = lr.predict(X_test)

# 评估模型性能
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print("Mean Squared Error:", mse)
print("R2 Score:", r2)

# 可视化结果
plt.scatter(X_test, y_test, color='blue', label='Actual')
plt.plot(X_test, y_pred, color='red', label='Predicted')
plt.legend()
plt.show()

在这个例子中,我们首先导入了所需的库和模块,然后创建了一个简单的数据集。接下来,我们将数据集划分为训练集和测试集,然后创建了一个线性回归模型。我们使用训练集对模型进行训练,并使用测试集进行预测。最后,我们评估了模型的性能并可视化了结果。

相关文章
|
6月前
|
机器学习/深度学习 算法 Python
请解释Python中的随机森林算法以及如何使用Sklearn库实现它。
【2月更文挑战第28天】【2月更文挑战第101篇】请解释Python中的随机森林算法以及如何使用Sklearn库实现它。
64 3
|
6月前
|
机器学习/深度学习 算法 Python
请解释Python中的支持向量机(SVM)以及如何使用Sklearn库实现它。
使用Python Scikit-learn实现支持向量机(SVM)涉及数据准备、选择模型(线性或非线性,搭配合适核函数)、训练、模型评估、参数调整和预测新数据。SVM通过最大化边界(margin)找到最优超平面,适用于分类和回归分析。
76 0
|
6月前
|
机器学习/深度学习 算法 数据挖掘
请解释Python中的决策树算法以及如何使用Sklearn库实现它。
决策树是监督学习算法,常用于分类和回归问题。Python的Sklearn库提供了决策树实现。以下是一步步创建决策树模型的简要步骤:导入所需库,加载数据集(如鸢尾花数据集),划分数据集为训练集和测试集,创建`DecisionTreeClassifier`,训练模型,预测测试集结果,最后通过`accuracy_score`评估模型性能。示例代码展示了这一过程。
68 1
|
6月前
|
Python
请解释Python中的主成分分析(PCA)以及如何使用Sklearn库实现它。
PCA是数据降维工具,Python中可通过Sklearn的PCA类实现。以下是一个简例:导入numpy、PCA和数据集;加载鸢尾花数据,标准化;创建PCA对象,指定降维数(如2);应用PCA转换;最后输出降维结果。此示例展示了如何将数据从高维降至二维。
63 4
|
6月前
|
机器学习/深度学习 数据采集 算法
Python中的支持向量机(SVM)以及如何使用Sklearn库实现它
SVM是监督学习算法,用于分类和回归,Python中可通过Scikit-learn实现。步骤包括数据预处理、选择SVM模型(如线性或非线性,配合核函数)、训练模型找到最优超平面、模型评估、参数调整和新数据预测。Scikit-learn简化了这一流程,便于数据分析任务。
179 3
|
6月前
|
数据可视化 Python
请解释Python中的线性回归分析以及如何使用Sklearn库实现它。
【4月更文挑战第22天】使用Python的Sklearn库进行线性回归分析,包括7个步骤:导入库、准备数据、划分训练测试集、创建模型、训练、预测和评估。示例代码创建了一个简单的数据集,应用线性回归模型,计算了Mean Squared Error和R² Score,并展示了预测结果与实际值的可视化对比。
48 11
|
6月前
|
机器学习/深度学习 算法 数据可视化
请解释Python中的聚类分析以及如何使用Sklearn库进行聚类。
【4月更文挑战第19天】使用Python的Scikit-learn库进行聚类分析,包括安装库、导入模块、准备数据、选择聚类算法(如K-means、DBSCAN等)、创建并训练模型、预测结果、评估聚类质量以及可视化。
49 1
|
6月前
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow、Keras 和 Python 构建神经网络分析鸢尾花iris数据集|代码数据分享
TensorFlow、Keras 和 Python 构建神经网络分析鸢尾花iris数据集|代码数据分享
|
6月前
|
Python
Python中的贝叶斯分类器以及如何使用Sklearn库实现它。
【4月更文挑战第23天】Sklearn库支持多种贝叶斯分类器,如高斯朴素贝叶斯、多项式朴素贝叶斯和伯努利朴素贝叶斯。以下是一个使用GaussianNB的简要示例:导入必要库,加载鸢尾花数据集,将其划分为训练集和测试集,创建高斯朴素贝叶斯分类器,训练模型,预测并评估(通过准确率)模型性能。
72 0
|
6月前
|
机器学习/深度学习 算法 数据可视化
Python中的聚类分析以及如何使用Sklearn库进行聚类。
【4月更文挑战第20天】在Python的Scikit-learn库中进行聚类分析,包括安装库、导入模块、准备数据、选择算法(如K-means)、创建并训练模型、预测聚类、评估结果及可视化。
115 0