机器学习入门实战 1 - 认识机器学习

news/2025/2/22 23:02:58/

📖 学习内容

1️⃣ 什么是机器学习

📌 机器学习 vs 传统编程

在传统编程中,我们手动编写规则:

def is_adult(age):if age >= 18:return "Adult"else:return "Child"

💡 传统编程 = 规则(程序员写代码)+ 数据 → 结果

而在机器学习中,程序会自动从数据中学习规律,不需要我们手动编写规则:

  • 输入:大量的训练数据(如:大量人的年龄和他们的分类)
  • 输出:程序自动学习一个模型,来预测新的数据

💡 机器学习 = 数据 + 结果 → 学习出规律(模型)


2️⃣ 机器学习的三种类型

1. 监督学习(Supervised Learning)

定义机器学习模型在有标签的数据上学习模式,最终可以预测新数据的类别或数值。

主要任务

  • 回归(Regression) → 预测连续数值(如房价预测)
  • 分类(Classification) → 预测离散类别(如垃圾邮件识别)

示例

变量目标
面积房价
80㎡100万
120㎡180万
150㎡250万

📌 回归示例:模型学习面积和房价的关系,预测新房子的价格。

📌 分类示例:垃圾邮件识别:

邮件内容是否垃圾邮件
“免费领取iPhone!”
“你好,张三,关于会议安排…”

2. 无监督学习(Unsupervised Learning)

定义:没有标签的数据,模型自动发现数据的结构。

主要任务

  • 聚类(Clustering) → 把相似的数据分成不同的组(如用户分群)
  • 降维(Dimensionality Reduction) → 让数据更简单易懂(如PCA,Principal Component Analysis,主成分分析)

📌 示例

  • 聚类:根据用户的购买行为,把用户自动分为不同类别(高端消费、普通消费)
  • 降维:把复杂的高维数据降到 2D 或 3D 来可视化。

3. 强化学习(Reinforcement Learning)

定义:AI 通过试错学习,不断优化策略,获得最大奖励。

主要任务

  • 机器人自动驾驶
  • AI 训练玩游戏(如 AlphaGo)
  • 自动股票交易系统

📌 示例

  • 机器人学走路:如果走对一步,给奖励;走错摔倒,减少奖励。

📝 练习项目 1:分析 Kaggle 泰坦尼克号数据集

目标

  • 下载 Kaggle 数据集
  • 观察数据结构
  • 统计不同特征(如性别)的存活率
  • 进行可视化分析

🔹 1. 下载数据集

👉 步骤

  1. 访问 Kaggle Titanic 竞赛页面
  2. 点击 Download All 下载 train.csv
  3. train.csv 放入你的 Python 项目目录

🔹 2. 加载数据并观察

import pandas as pd# 读取 Titanic 训练数据
df = pd.read_csv("train.csv")# 显示前5行
print(df.head())# 数据概览
print(df.info())
print(df.describe())

输出结果

   PassengerId  Survived  Pclass     Name   Sex   Age  SibSp  Parch     Fare
0           1         0       3   Allen  male  22.0      1      0   7.2500
1           2         1       1  Cumings female  38.0      1      0  71.2833
  • Survived = 1 表示存活,0 表示死亡
  • Pclass = 船舱等级(1 = 头等舱, 3 = 三等舱)
  • Sex = 性别
  • Age = 年龄
  • Fare = 票价

🔹 3. 统计男女存活率

# 统计生存率
print(df["Survived"].value_counts())# 统计男女生存情况
print(df.groupby("Sex")["Survived"].mean())

输出示例

Survived:
0    549  # 没有生还
1    342  # 生还Sex Survived
female    0.74
male      0.18

💡 结论

  • 女性生存率 74%
  • 男性生存率 18%
  • 说明女性在救援中有优先权(“Women and children first!”)

🔹 4. 绘制可视化图表

import matplotlib.pyplot as plt
import seaborn as sns# 统计男女生存率
sns.barplot(x="Sex", y="Survived", data=df)
plt.title("男女生存率对比")
plt.show()

输出结果
在这里插入图片描述

🔹 5. 统计不同船舱等级(Pclass)的存活率

# 统计不同船舱的生存率
print(df.groupby("Pclass")["Survived"].mean())# 画出船舱等级和存活率的柱状图
sns.barplot(x="Pclass", y="Survived", data=df)
plt.title("不同船舱等级的生存率")
plt.show()

在这里插入图片描述

结论

  • 头等舱生存率最高
  • 三等舱生存率最低

🎯 总结

今天的收获

  1. 理解了机器学习三大类
  2. 学习了 Pandas 读取 CSV 数据
  3. 统计了泰坦尼克号数据的生存率
  4. 学会了绘制可视化图表

📌 下一步

  • 2:数据预处理
    • 填充缺失值
    • 数据标准化
    • 处理类别变量

🚀 你可以修改代码,比如增加 “年龄” 对存活率的影响分析! 🎯


http://www.ppmy.cn/news/1573570.html

相关文章

Android 进程间通信中 Messager 的简单使用

Messenger 是 Android 中一种简单且高效的进程间通信(IPC)机制。它基于 Binder 和 Handler 实现,适用于轻量级的跨进程通信场景。相比 AIDL(Android Interface Definition Language),Messenger 更加简单易用…

TypeScript 与后端开发Node.js

文章目录 一、搭建 TypeScript Node.js 项目 (一)初始化项目并安装相关依赖 1、创建项目目录并初始化2、安装必要的依赖包 (二)配置 TypeScript 编译选项(如模块解析方式适合后端) 二、编写服务器代码 &a…

本地DeepSeek模型GGUF文件转换为PyTorch格式

接前文,我们在本地Windows系统上,基于GGUF文件部署了DeepSeek模型(DeepSeek-R1-Distill-Qwen-1.5B.gguf版本),但是GGUF是已经量化的版本,我们除了对其进行微调之外,无法对其训练,那么还有没有其他办法对本地的GGUF部署的DeepSeek模型进行训练呢?今天我们就反其道而行之…

【Quest开发】全身跟踪

软件:Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72 硬件:Meta Quest3 最终效果:能像meta的操作室沉浸场景一样根据头盔移动来推断用户姿势,实现走路、蹲下、手势匹配等功能 需要借助UnityMovement这个包 GitHub …

VSCode本地python包“无法解析导入”

问题现象 在使用 VSCode 编写 Python 代码时,虽然程序能正常运行,但遇到“无法解析导入”的问题,导致代码无法高亮。 解决方法 配置 python.autoComplete.extraPaths 打开 VSCode 设置(CtrlShiftP -> Preferences: Open Wo…

【大语言模型】最新ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模等科研应用

ChatGPT、DeepSeek等大语言模型助力科研应用 随着人工智能技术的快速发展,大语言模型如ChatGPT和DeepSeek在科研领域的应用正在为科研人员提供强大的支持。这些模型通过深度学习和大规模语料库训练,能够帮助科研人员高效地筛选文献、生成论文内容、进行数…

01-零基础入门嵌入式系统

1.什么是嵌入式系统 首先我们要知道计算机系统分为大型机、通用计算机和嵌入式系统三大类。 计算机系统的发展,经历了由1台计算机系统为N个人服务的大型机时代到由1台计算机系统为1个人服务的PC时代,正在步入由N台计算机系统为1个人服务的嵌入式时代。 嵌…

文心一言,下一代模型开源

大家好,我是小悟。 百度官宣,将在未来几个月中陆续推出文心大模型 4.5 系列,并于 6 月 30 日起正式开源。 与此同时,百度近期发布多项 AI 开放政策,进一步降低大模型的使用门槛。随着文心大模型的迭代升级和成本不断…