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

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

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

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

相关推荐
不去幼儿园1 小时前
【MARL】深入理解多智能体近端策略优化(MAPPO)算法与调参
人工智能·python·算法·机器学习·强化学习
无脑敲代码,bug漫天飞2 小时前
COR 损失函数
人工智能·机器学习
HPC_fac130520678163 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
老艾的AI世界11 小时前
AI翻唱神器,一键用你喜欢的歌手翻唱他人的曲目(附下载链接)
人工智能·深度学习·神经网络·机器学习·ai·ai翻唱·ai唱歌·ai歌曲
DK2215111 小时前
机器学习系列----关联分析
人工智能·机器学习
FreedomLeo112 小时前
Python数据分析NumPy和pandas(四十、Python 中的建模库statsmodels 和 scikit-learn)
python·机器学习·数据分析·scikit-learn·statsmodels·numpy和pandas
风间琉璃""12 小时前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制
Java Fans13 小时前
梯度提升树(Gradient Boosting Trees)详解
机器学习·集成学习·boosting
谢眠13 小时前
机器学习day6-线性代数2-梯度下降
人工智能·机器学习
sp_fyf_202414 小时前
【大语言模型】ACL2024论文-19 SportsMetrics: 融合文本和数值数据以理解大型语言模型中的信息融合
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理