所有关于使用 Scikit 的线性回归

已发表: 2022-09-08

在实践中,有两种主要的监督机器学习算法:1. 分类和 2. 回归——分类用于预测离散输出,而回归用于预测连续值输出。

在代数中,线性表示多个变量之间的直线或线性关系。 这种关系的字面表示将是一条直线。

报名参加世界顶尖大学机器学习课程获得硕士、Executive PGP 或高级证书课程以加快您的职业生涯。

线性回归是一种在监督下执行的机器学习算法。 这是一个寻找和映射一条适合所述图上所有可用数据点的线的过程。 它是一种回归模型,可帮助估计一个因变量和一个自变量之间的值,所有这些都在直线的帮助下进行。

线性回归模型有助于根据给定的因变量在这些成本最低的自变量之间建立线性关系。

在数学中,我们使用三种方式来描述线性回归模型。 它们如下(y 是因变量):

  • y = 截距 + (斜率 x) + 误差
  • y = 常数 + (coefficientx) + 误差
  • y = a + bx + e

目录

为什么线性回归必不可少?

线性回归的模型相对简单,用户友好。 它们使解释能够生成预测的数学数据/公式的过程相对简单。 线性回归可以在各个领域(例如,学术或商业研究)中发挥作用。

线性回归模型是唯一经科学证明可以准确预测未来的方法。 它用于环境、行为、社会等各种科学。

这些模型的属性很好理解,因此很容易训练,因为它是一个历史悠久的统计程序。 它还有助于将丰富的原始数据集转换为可操作的信息。

有效线性回归的关键假设

  • 应考虑每个变量的有效案例数、均值和标准差。
  • 对于每个模型应考虑回归系数、相关矩阵、部分和偏相关、估计的标准误差、方差分析表、预测值和残差。
  • :考虑散点图、直方图、部分图和正态概率图。
  • 数据:必须确保因变量和自变量是定量的。 分类变量不需要重新编码为二进制或虚拟变量或其他类型的对比变量。
  • 其他假设:对于给定自变量的每个值,我们需要因变量的正态分布。 对于每个自变量值,因变量的给定分布的方差也应保持不变。 每个因变量之间的关系应该是线性的。 另外,所有观察都应该是独立的。

这是一个简单线性回归的现有示例

示例中的数据集包含有关特定时期每一天的全球天气情况的信息。 这份详细的信息列表包括降水、降雪、温度、风速、雷暴或其他可能的天气条件等因素。

该问题旨在使用简单的线性回归模型来预测最高温度,同时以最低温度为输入。

首先,需要导入所有库。

将熊猫导入为 pd

将 numpy 导入为 np

将 matplotlib.pyplot 导入为 plt

将 seaborn 导入为 seabornInstance

从 sklearn.model_selection 导入 train_test_split

从 sklearn.linear_model 导入线性回归

从 sklearn 导入指标

%matplotlib 内联

要使用 pandas 导入以下数据集,需要应用以下命令:

dataset = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LInearRegression/Weather.csv')

要检查数据集中存在的行数和列数以探索数据,需要应用以下命令:

数据集.shape

接收到的输出应该是(119040, 31),这意味着数据包含119040行和31列。

要查看数据集的统计详细信息,可以使用以下命令:

描述():

dataset.describe()

这是另一个示例,旨在演示如何检索和使用用于将线性回归应用于给定数据集的各种 Python 库:

1. 导入所有需要的库

将 numpy 导入为 np

将熊猫导入为 pd

将 seaborn 导入为 sns

将 matplotlib.pyplot 导入为 plt

从 sklearn 导入预处理,支持向量机

从 sklearn.model_selection 导入 train_test_split

从 sklearn.linear_model 导入线性回归

2.读取数据集

cd C:\Users\Dev\Desktop\Kaggle\Salinity

# 将文件读取位置更改为数据集的位置

df = pd.read_csv('bottle.csv')

df_binary = df[['盐度', 'T_degC']]

# 只取数据集中选择的两个属性

df_binary.columns = ['Sal', 'Temp']

# 重命名列以便于编写代码

df_binary.head()

# 只显示第一行和列名

2. 探索数据分散

sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary, order = 2, ci = None)

# 绘制数据散点图

3.数据清洗

# 消除 NaN 或缺失的输入数字

df_binary.fillna(method ='ffill', inplace = True)

4. 训练模型

X = np.array(df_binary['Sal']).reshape(-1, 1)

y = np.array(df_binary['Temp']).reshape(-1, 1)

# 将数据分成自变量和因变量

# 将每个数据帧转换成一个 numpy 数组

# 因为每个数据框只包含一列

df_binary.dropna(就地=真)

# 删除任何具有 Nan 值的行

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25)

# 将数据拆分为训练和测试数据

regr = 线性回归()

regr.fit(X_train, y_train)

打印(regr.score(X_test,y_test))

5. 探索结果

y_pred = regr.predict(X_test)

plt.scatter(X_test, y_test, color ='b')

plt.plot(X_test, y_pred, color ='k')

plt.show()

# 预测值的数据分散

6. 使用较小的数据集

df_binary500 = df_binary[:][:500]

# 选择数据的前 500 行

sns.lmplot(x =”Sal”, y =”Temp”, 数据 = df_binary500,

顺序 = 2,ci = 无)

流行的机器学习和人工智能博客

物联网:历史、现在和未来 机器学习教程:学习机器学习 什么是算法? 简单易行
印度机器人工程师的薪水:所有角色 机器学习工程师的一天:他们在做什么? 什么是物联网(物联网)
排列与组合:排列与组合之间的区别 人工智能和机器学习的 7 大趋势 使用 R 进行机器学习:您需要知道的一切

如果您有兴趣学习成熟的机器学习,我们建议您加入 Grad 的机器学习与人工智能理学硕士课程 这个为期 20 个月的课程是与 IIIT 班加罗尔大学和利物浦约翰摩尔斯大学联合提供的。 旨在帮助您建立行业相关编程语言、工具和库(如 Python、Keras、Tensor Flow、MySql、Flask、Kubernetes 等)的能力。

该计划可以通过实践经验和技能培养帮助您掌握先进的数据科学概念。 此外,您还可以通过获得 360° 职业顾问、40,000 多名付费学习者的网络池以及大量合作机会获得 upGrad 优势!

今天就预订座位!

什么是线性回归用于

这种分析通常用于根据另一个已知变量来预测一个变量的值。 用于查找另一个值的变量分别称为因变量和自变量。

如何安装scikit learn?

首先,需要安装相关操作系统或 Python 发行版提供的 Scikit learn 线性回归版本。 对于拥有此选项的人来说,这是最快的。 然后需要安装正式发布和最新更新的版本。

scikit 学习如何工作?

Scikit learn linear regression通过python的接口给出了一系列有监督和无监督的算法,总是一致的。 它是根据允许的 BSD 许可证获得许可的。 它分布在各种 Linux 运营商下。 在商业和教育中广泛鼓励使用这些算法。