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

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

📖 学习内容

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:数据预处理
    • 填充缺失值
    • 数据标准化
    • 处理类别变量

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

相关文章:

  • 网络安全推荐的视频教程 网络安全系列
  • Vue 项目中逐步引入 TypeScript 的类型检查
  • 什么是全零监听?为什么要全零监听?如何修改ollama配置实现全零监听?风险是什么?怎么应对?
  • 【Prometheus】prometheus结合pushgateway实现脚本运行状态监控
  • 3.1 Hugging Face Transformers快速入门:零基础到企业级开发的实战指南
  • SpringCloud面试题----eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别
  • 数智读书笔记系列014 MICK《SQL进阶教程》第一版和第二版对比和总结
  • React 与 Vue 对比指南 - 上
  • vue脚手架开发打地鼠游戏
  • 用Python+SACS玩转悬臂梁建模:从零开始的结构分析实战
  • 4.如何处理Labelme标注后的数据
  • 基于 Cookie 追踪用户行为
  • 利用分治策略优化快速排序
  • 【C语言】第三期——判断语句
  • 在Windows本地部署DeepSeek-R1模型全指南 ——基于Ollama的轻量化实现
  • 网络安全架构战略 网络安全体系结构
  • 神经网络实验——MLP
  • C# ref 和 out 的使用详解
  • 【Spring快速入门】不断更新...
  • 蚁剑(AutSword)的下载安装与报错解决
  • 中华人民共和国和巴西联邦共和国关于强化携手构建更公正世界和更可持续星球的中巴命运共同体,共同维护多边主义的联合声明
  • 云南威信麟凤镇通报“有人穿‘警察’字样雨衣参与丧事”:已立案查处
  • 从普通人经历中发现历史,王笛解读《线索与痕迹》
  • 印称印巴军事行动总指挥同意将局势降级
  • 对话郑永年:我们谈判也是为世界争公义
  • 从采购到销售!市场监管总局指导行业协会防控肉品风险