📖 学习内容
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. 下载数据集
👉 步骤:
- 访问 Kaggle Titanic 竞赛页面
- 点击 Download All 下载
train.csv
- 将
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()
✅ 结论
- 头等舱生存率最高
- 三等舱生存率最低
🎯 总结
✅ 今天的收获:
- 理解了机器学习三大类
- 学习了 Pandas 读取 CSV 数据
- 统计了泰坦尼克号数据的生存率
- 学会了绘制可视化图表
📌 下一步
- 2:数据预处理
- 填充缺失值
- 数据标准化
- 处理类别变量
🚀 你可以修改代码,比如增加 “年龄” 对存活率的影响分析! 🎯