从零开始学机器学习——了解回归

首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns

回归

今天我们将深入探讨回归分析的概念。回归分析是统计学中一种重要的方法,通常分为线性回归和逻辑回归两种类型。它们分别用于不同的数据模型和分析需求。为了更直观地理解它们的作用,让我们先通过一个图表来感受一下它们的应用场景和效果:

线性回归是一种统计学方法,通过利用已知相关数据来预测未知数据的值。它通过数学建模将未知变量(或因变量)与已知变量(或自变量)之间的关系表示为线性方程,从而揭示它们之间的线性关系。

逻辑回归是一种常用的数据分析技术,其目的在于通过数学建模揭示两个数据因子之间的关系。通过这种关系,逻辑回归可以根据其中一个因子的值来预测另一个因子的可能性。通常情况下,预测结果是有限的,例如二元分类(是或否)。

数据可视化

在机器学习领域,数据可视化对于深入理解数据的分布、特征之间的关系以及模型的表现至关重要。matplotlib作为一个功能强大的绘图库,提供了丰富的绘图功能,能够轻松地创建各种类型的图表,包括但不限于折线图、散点图、直方图等。这些图表不仅能够直观地展示数据,还能帮助分析者快速洞察数据的结构和趋势。

数据可视化还具有重要的演示作用,能够通过直观的图表帮助学者更轻松地理解数据,提升信息的可读性和传达效果。

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model, model_selection
X, y = datasets.load_diabetes(return_X_y=True)
X = X[:, np.newaxis, 2]
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.33)
model = linear_model.LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
plt.scatter(X_test, y_test,  color='black')
plt.plot(X_test, y_pred, color='blue', linewidth=3)
plt.show()

与 Python 中的某些库一样,Scikit-learn 库也附带了一组内置数据集。您需要先导入数据集库,才能访问所选的特定数据集。在以上示例中,导入数据集。该数据集包含来自糖尿病患者的数据,并包含某些特征,例如他们的 bmi(体重指数)、年龄、血压和葡萄糖水平

关键代码解析一下:

  • 使用model_selection.train_test_split()将数据集划分为训练集 (X_train, y_train) 和测试集 (X_test, y_test),其中测试集占比为33%
  • 使用训练集数据 (X_train, y_train) 对线性回归模型进行训练,即 model.fit(X_train, y_train)。
  • 使用训练好的模型对测试集 (X_test) 进行预测,得到预测值 y_pred。
  • 使用 matplotlib 绘制散点图 (plt.scatter()) 表示测试集数据点。
  • 使用 plt.plot() 绘制回归模型在测试集上的预测结果曲线,以及用蓝色线条表示的拟合直线。
  • 最后通过 plt.show() 显示图形。

以此为例,通过可视化图表展示的数据更加直观易懂。

总结

在本文中,我们探讨了回归分析在统计学和数据分析中的重要性和应用。线性回归和逻辑回归作为两种主要的回归分析方法,分别适用于不同类型的数据建模和预测需求。通过数学建模,它们能够揭示变量之间的关系,并且在实际应用中展现了强大的预测能力。

数据可视化在深入理解数据特征和模型表现方面起到了关键作用。通过图表如折线图、散点图和直方图,我们能够直观地展示数据分布和趋势,帮助分析者快速洞察数据的结构和模式。特别是在机器学习中,这些可视化技术不仅提升了数据分析的效率,还增强了信息的传达和理解效果。

通过本文的学习,我们不仅深入了解了回归分析的理论基础和实际操作,还通过实例展示了如何利用Python中的相关库进行数据建模和可视化分析。


我是努力的小雨,一名 Java 服务端码农,潜心研究着 AI 技术的奥秘。我热爱技术交流与分享,对开源社区充满热情。同时也是一位腾讯云创作之星、阿里云专家博主、华为云云享专家、掘金优秀作者。

💡 我将不吝分享我在技术道路上的个人探索与经验,希望能为你的学习与成长带来一些启发与帮助。

🌟 欢迎关注努力的小雨!🌟

相关推荐
IT古董9 小时前
【漫话机器学习系列】019.布里(莱)尔分数(Birer score)
人工智能·深度学习·机器学习
gang_unerry9 小时前
量子退火与机器学习(1):少量数据求解未知QUBO矩阵,以少见多
人工智能·python·算法·机器学习·数学建模·矩阵·量子计算
视觉&物联智能11 小时前
【杂谈】-为什么Python是AI的首选语言
开发语言·人工智能·python·深度学习·机器学习
IT古董11 小时前
【机器学习】机器学习的基本分类-强化学习-模型预测控制(MPC:Model Predictive Control)
人工智能·机器学习·分类
叶庭云12 小时前
一文理解机器学习中二分类任务的评价指标 AUPRC 和 AUROC
机器学习·二分类·auprc·auroc·定义、原理、优缺点、适用场景
qq_5290252915 小时前
Torch.gather
python·深度学习·机器学习
IT古董16 小时前
【漫话机器学习系列】017.大O算法(Big-O Notation)
人工智能·机器学习