跳到主要内容

🤖 Scikit-learn 入门指南

Scikit-learn 是基于 NumPy、SciPy 和 matplotlib 的机器学习库,提供了常见的分类、回归、聚类、降维等工具,是入门机器学习的首选。


✅ Scikit-learn 能解决什么问题?

类型示例任务应用方向
分类邮件是否为垃圾邮件文本分析、医学预测
回归房价预测金融、房产估价
聚类用户分群、图像分割推荐系统、市场分析
降维数据压缩、特征提取图像、文本预处理
模型选择网格搜索、交叉验证提升模型性能
特征工程标准化、编码、选择数据预处理与管道

📦 安装

pip install scikit-learn

📊 基本使用:分类任务示例(Iris 数据集)

1️⃣ 加载数据集

sklearn.datasets 导入 加载鸢尾花

数据 = 加载鸢尾花()
打印(数据.数据[:3])

2️⃣ 划分训练集和测试集

sklearn.model_selection 导入 训练测试划分

X_训练, X_测试, y_训练, y_测试 = 训练测试划分(
数据.数据, 数据.目标, 测试大小=0.2, 随机状态=42
)

3️⃣ 训练模型

sklearn.neighbors 导入 K近邻分类器

模型 = K近邻分类器()
模型.拟合(X_训练, y_训练)

4️⃣ 模型预测与评估

预测 = 模型.预测(X_测试)

sklearn.metrics 导入 精度
打印("准确率:", 精度(y_测试, 预测))

🧰 常见模块介绍

模块功能
sklearn.datasets提供示例数据集
sklearn.model_selection数据切分、交叉验证、搜索
sklearn.preprocessing标准化、编码、归一化
sklearn.linear_model回归模型,如线性回归
sklearn.tree决策树、随机森林
sklearn.svm支持向量机
sklearn.neighborsKNN 分类、回归
sklearn.metrics模型评估指标
sklearn.pipeline构建训练管道

🔄 管道与预处理示例

sklearn.pipeline 导入 管道
sklearn.preprocessing 导入 标准化器
sklearn.linear_model 导入 逻辑回归

模型 = 管道([
("缩放", 标准化器()),
("分类器", 逻辑回归())
])

模型.拟合(X_训练, y_训练)

🧪 交叉验证与网格搜索

sklearn.model_selection 导入 网格搜索CV

参数 = {"n_neighbors": [3, 5, 7]}
搜索 = 网格搜索CV(K近邻分类器(), 参数, cv=3)
搜索.拟合(X_训练, y_训练)

打印(搜索.最佳参数_)

📈 支持的模型一览

类别示例模型
分类KNN、SVM、决策树、朴素贝叶斯
回归线性回归、Ridge、SVR
聚类KMeans、MeanShift、DBSCAN
降维PCA、TruncatedSVD
模型选择GridSearchCV、RandomizedSearchCV