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

首先给大家介绍一个很好用的学习地址: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 技术的奥秘。我热爱技术交流与分享,对开源社区充满热情。同时也是一位腾讯云创作之星、阿里云专家博主、华为云云享专家、掘金优秀作者。

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

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

相关推荐
MarkHD39 分钟前
第十一天 线性代数基础
线性代数·决策树·机器学习
打羽毛球吗️43 分钟前
机器学习中的两种主要思路:数据驱动与模型驱动
人工智能·机器学习
小馒头学python1 小时前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
正义的彬彬侠1 小时前
《XGBoost算法的原理推导》12-14决策树复杂度的正则化项 公式解析
人工智能·决策树·机器学习·集成学习·boosting·xgboost
羊小猪~~2 小时前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
正义的彬彬侠2 小时前
【scikit-learn 1.2版本后】sklearn.datasets中load_boston报错 使用 fetch_openml 函数来加载波士顿房价
python·机器学习·sklearn
资源补给站3 小时前
论文2—《基于柔顺控制的智能神经导航手术机器人系统设计》文献阅读分析报告
机器学习·机器人·手术机器人
武子康3 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
___Dream3 小时前
【CTFN】基于耦合翻译融合网络的多模态情感分析的层次学习
人工智能·深度学习·机器学习·transformer·人机交互
西柚小萌新5 小时前
8.机器学习--决策树
人工智能·决策树·机器学习