当前位置: 首页 > news >正文

《机器学习与深度学习》入门

1.🚀 Scikit-learn入门与线性回归实战指南

流程图:

flowchart TD
A[Scikit-learn入门与线性回归实战] --> B[环境准备与安装]
A --> C[机器学习核心流程理解]
A --> D[线性回归模型实战]
A --> E[模型评估与结果解读]B --> B1["安装Scikit-learn库<br>pip install scikit-learn"]
B --> B2["验证安装<br>import sklearn"]C --> C1["数据加载与预处理"]
C --> C2["数据集划分"]
C --> C3["模型训练与评估"]D --> D1["选择线性回归算法"]
D --> D2["训练模型"]
D --> D3["进行预测"]E --> E1["计算MSE均方误差"]
E --> E2["计算R²决定系数"]
E --> E3["结果可视化"]

📦 1.1 环境准备与Scikit-learn安装

核心目标​:成功安装Scikit-learn库并验证安装。

1.1.1 安装Scikit-learn

  • 确保你的Conda虚拟环境(如ai_env)是激活状态。
  • 在终端中运行以下命令使用pip安装
# 使用pip安装,国内用户可添加清华源加速下载
pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple# 或者使用conda安装(如果你更习惯conda)
# conda install scikit-learn

1.1.2 验证安装

安装完成后,在终端中启动Python解释器,输入以下命令

import sklearn
print(sklearn.__version__)  # 输出安装的scikit-learn版本号

1.1.3 验收标准

  • ✅ 终端执行安装命令无报错。
  • ✅ 能成功导入sklearn库并打印出版本号。

🔄 1.2 理解机器学习流程与数据准备

核心目标​:理解机器学习的基本流程,并为线性回归模型准备数据。

1.2.1 机器学习基本流程

Scikit-learn中的机器学习工作流通常遵循以下步骤,理解它们对你后续的学习至关重要:

  • 数据加载与预处理​:获取数据,并进行清洗、归一化、编码等操作。
  • 划分训练集/测试集​:将数据集分为两部分,一部分用于训练模型,另一部分用于测试模型性能。
  • 选择模型​:根据任务选择合适的算法。
  • 训练模型​:使用训练数据来拟合模型。
  • 评估模型​:使用测试数据评估模型的性能

1.2.2 加载与准备数据

创建一个新的Python脚本(如linear_regression_demo.py),使用Scikit-learn内置的数据集进行练习:

# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score# 加载内置的糖尿病数据集(这是一个常用的回归数据集)
from sklearn.datasets import load_diabetes
diabetes = load_diabetes()# 查看数据集描述(可选,但有助于理解数据)
# print(diabetes.DESCR)# 指定特征(X)和目标变量(y)
X = diabetes.data  # 所有特征
y = diabetes.target  # 目标变量:糖尿病指数# 将数据划分为训练集和测试集[7,8](@ref)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# test_size=0.2 表示20%的数据作为测试集
# random_state 确保每次分割的结果一致,便于复现结果

1.2.3 验收标准

  

  • ✅ 能清晰描述机器学习流程中的关键步骤。
  • ✅ 成功加载数据集并将其划分为训练集和测试集。

🤖 1.3 模型训练、评估与实战

核心目标​:训练你的第一个线性回归模型,并进行预测和评估。

1.3.1 训练线性回归模型

在同一个脚本中继续添加以下代码:

# 创建线性回归模型对象
model = LinearRegression()# 使用训练数据训练模型[6,8](@ref)
model.fit(X_train, y_train)# 使用训练好的模型对测试集进行预测[6,8](@ref)
y_pred = model.predict(X_test)

1.3.2 评估模型性能

继续添加评估代码:

# 计算均方误差(MSE)[9,11](@ref)
mse = mean_squared_error(y_test, y_pred)
print(f"均方误差(MSE): {mse:.2f}")# 计算决定系数(R²分数)[9,11](@ref)
r2 = r2_score(y_test, y_pred)
print(f"决定系数(R²分数): {r2:.4f}")# (可选)输出模型系数和截距,理解模型
print(f"模型系数: {model.coef_}")
print(f"模型截距: {model.intercept_}")

1.3.3 结果可视化

为了更直观地理解预测结果,可以绘制真实值与预测值的散点图:

# 绘制真实值与预测值的散点图
plt.figure(figsize=(8, 6))
plt.scatter(y_test, y_pred, alpha=0.5)
plt.xlabel("真实值")
plt.ylabel("预测值")
plt.title("线性回归预测结果:真实值 vs 预测值")# 添加理想拟合线(y=x)
min_val = min(y_test.min(), y_pred.min())
max_val = max(y_test.max(), y_pred.max())
plt.plot([min_val, max_val], [min_val, max_val], color='red', linestyle='--')plt.tight_layout()
plt.show()

1.3.4验收标准

  • ✅ 成功训练线性回归模型并对测试集进行预测。
  • ✅ 计算并输出了MSE和R²分数。对于糖尿病数据集,R²分数通常在0.3到0.5之间,这属于正常范围。
  • ✅ (可选)成功绘制了真实值与预测值的对比图。

    http://www.dtcms.com/a/408007.html

    相关文章:

  1. 六安网站自然排名优化价格网站没有备案时
  2. 阿里云做企业网站用php怎么做网站
  3. Qt常用控件之QLabel(二)
  4. C++笔记(基础)动态内存管理 auto,decltype关键字
  5. 申请网站沈阳网站建设招标公司
  6. 网站统计 中文域名建站之星极速版
  7. python中Pydantic学习笔记
  8. 网站域名注册机制网站建设公司包括哪些板块
  9. 华为昇腾 CANN 算子仓开源上线 GitCode,加速 AI 开发生态共建
  10. 广东建站网站怎么做结算
  11. 河南省建设厅陈华平官方网站制作公司主页网站
  12. 精美化妆品网站模板博达网站建设怎么建立下载
  13. 网站如何做分布式wordpress始终无法登录
  14. NAT44性能测试详解:应对IPv4地址枯竭的关键利器
  15. 一个网站可以做多少个关键词wordpress会员发布文章
  16. 敏感网站用什么浏览器重庆市最新新闻
  17. 怎么用自助网站订阅 wordpress
  18. 国外优秀论文网站郑州新闻
  19. [DAX] 新建列
  20. 【高等数学】第十二章 无穷级数——第五节 函数的幂级数展开式的应用
  21. 深圳品牌网站制作平台企业网站报价表
  22. 网站制作开票几个点美团网站除佣金表格怎么做
  23. 正规网站建设东莞短视频制作公司
  24. 2018年网站建设阿里云电影网站建设教程
  25. 【Qt】QWidget 详解
  26. 杭州网站建设招聘网站后台收入怎么做会计分录
  27. 网站开发已有的知识储备流量神器
  28. cin获取string注意点
  29. 星沙做淘宝店铺网站山东泰润建设集团网站
  30. mip织梦手机网站模板如何做餐饮的网站