📈 Python 数据分析与挖掘全栈学习指南
本指南基于 16 个核心章节打造,覆盖从数据抓取、NumPy/Pandas 数据清洗与可视化,到经典统计回归模型(线性回归、Ridge/LASSO、Logistic)、机器学习核心算法(决策树、随机森林、KNN、朴素贝叶斯、SVM、GBDT)以及无监督聚类算法(K-Means、DBSCAN、层次聚类)的完整数据挖掘工程路径。
🗺️ 学习路线与技术架构
📚 目录索引与文档导航
| 章节编号 | 对应模块名称 | 核心知识点与技术栈 | 对应文档链接 |
|---|---|---|---|
| 01 | 数据分析与挖掘概述 | 数据挖掘生命周期(CRISP-DM)、业务指标拆解与应用场景 | 阅读文档 |
| 02 | 从收入的预测分析开始 | 数据挖掘项目全流程实战拆解、特征工程初步定位 | 阅读文档 |
| 03 | Python基础与数据抓取 | Requests 网络爬虫、网页解析 (BeautifulSoup/XPath) 与数据落盘 | 阅读文档 |
| 04 | Python数值计算——NumPy的高效技能 | Ndarray 数组操作、广播机制、矩阵运算与向量化加速计算 | 阅读文档 |
| 05 | Python数据处理——展现Pandas的强大 | DataFrame/Series 数据清洗、缺失值与异常值处理、透视表与 GroupBy | 阅读文档 |
| 06 | Python数据可视化——分析报告必要元素 | Matplotlib/Seaborn 绘图、折线/柱状/散点/热力图与分析报告排版 | 阅读文档 |
| 07 | 线性回归预测模型 | 最小二乘法 (OLS)、残差分析、多重共线性检验与模型评估 (R²) | 阅读文档 |
| 08 | 岭回归与LASSO回归模型 | L1/L2 正则化机制、岭迹图选参、超参数交叉验证与特征筛选 | 阅读文档 |
| 09 | Logistic回归分类模型 | Sigmoid 激活函数、赔率 (Odds)、极大似然估计、ROC/AUC 评估曲线 | 阅读文档 |
| 10 | 决策树与随机森林 | 信息增益 (ID3/C4.5)、基尼系数 (CART)、袋外估计 (OOB) 与集成学习 | 阅读文档 |
| 11 | KNN模型及应用 | 欧氏距离与曼哈顿距离、K 值选择、KD 树索引与分类/回归建模 | 阅读文档 |
| 12 | 朴素贝叶斯模型 | 贝叶斯定理、先验/后验概率、文本分类与拉普拉斯平滑处理 | 阅读文档 |
| 13 | SVM模型及应用 | 超平面划分、软间隔、核函数 (RBF/Linear) 与支持向量计算 | 阅读文档 |
| 14 | GBDT模型及应用 | Gradient Boosting 梯度提升思想、残差拟合、XGBoost/LightGBM 延伸 | 阅读文档 |
| 15 | K-Means聚类分析 | 质心选择、手肘法选 K、轮廓系数 (Silhouette) 与客户细分应用 | 阅读文档 |
| 16 | DBSCAN与层次聚类分析 | 密度聚类 (Eps/MinPts)、核心点与边界点判断、系统聚类树状图绘制 | 阅读文档 |
🛠️ 数据挖掘工程核心代码范例
python
import pandas as pd
import numpy as np
# 加载数据与缺失值快速分析
df = pd.read_csv("dataset.csv")
df.info()
# 充填异常值与转换类型
df['income'] = df['income'].fillna(df['income'].median())
df['age_group'] = pd.cut(df['age'], bins=[0, 18, 35, 60, 100], labels=['Teens', 'Youth', 'Middle', 'Senior'])
# 分组聚合分析
summary = df.groupby('age_group')['income'].agg(['mean', 'count']).reset_index()
print(summary)python
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report, roc_auc_score
# 划分特征与标签
X = df.drop(columns=['target'])
y = df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 模型训练与预测
rf = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=42)
rf.fit(X_train, y_train)
y_pred = rf.predict(X_test)
y_proba = rf.predict_proba(X_test)[:, 1]
# 输出性能指标
print(classification_report(y_test, y_pred))
print("AUC Score:", roc_auc_score(y_test, y_proba))💡 提示
- 文件重命名:建议将原本的
.docx文件转换为标准的.md格式并放置在对应目录下,即可点击上述表格超链接直接跳转阅读。 - 死链防护:超链接中的空格均已采用
%20进行转义(例如:第1章%20数据分析与挖掘概述.md),可完全兼容 VitePress 与 GitHub Pages 等静态站点工具。