Scikit-Learn基础教程

简介: Scikit-Learn基础教程

Scikit-Learn基础教程

Scikit-Learn(sklearn)是Python中广泛使用的机器学习库,提供了丰富的工具用于数据预处理、模型训练和评估。本文将带你从基础开始,逐步掌握使用Scikit-Learn进行机器学习的核心步骤和方法。

一、安装Scikit-Learn

在开始之前,需要确保已安装Scikit-Learn。可以使用pip进行安装:

pip install scikit-learn

二、数据预处理

1. 加载数据

Scikit-Learn提供了多种数据集,可以直接加载用于实验和学习。以Iris数据集为例:

from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target

2. 数据标准化

为了提高模型性能,通常需要对数据进行标准化处理,使每个特征的均值为0,方差为1。

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

三、拆分数据集

将数据集拆分为训练集和测试集,以便评估模型的性能。

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)

四、训练模型

Scikit-Learn提供了多种机器学习算法,以下是几种常见算法的使用示例。

1. 逻辑回归

from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(X_train, y_train)

2. 支持向量机

from sklearn.svm import SVC
model = SVC()
model.fit(X_train, y_train)

3. 决策树

from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)

五、模型评估

使用测试集评估模型性能,常用指标包括准确率、精确率、召回率和F1分数。

from sklearn.metrics import accuracy_score, classification_report
y_pred = model.predict(X_test)
print("Accuracy:", accuracy_score(y_test, y_pred))
print("Classification Report:\n", classification_report(y_test, y_pred))

六、超参数调优

为了提升模型性能,可以使用网格搜索或随机搜索进行超参数调优。

1. 网格搜索

from sklearn.model_selection import GridSearchCV
param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf']}
grid_search = GridSearchCV(SVC(), param_grid, cv=5)
grid_search.fit(X_train, y_train)
print("Best Parameters:", grid_search.best_params_)
model = grid_search.best_estimator_

2. 随机搜索

from sklearn.model_selection import RandomizedSearchCV
from scipy.stats import uniform
param_dist = {'C': uniform(0.1, 10), 'kernel': ['linear', 'rbf']}
random_search = RandomizedSearchCV(SVC(), param_dist, n_iter=100, cv=5, random_state=42)
random_search.fit(X_train, y_train)
print("Best Parameters:", random_search.best_params_)
model = random_search.best_estimator_

七、模型保存和加载

训练好的模型可以保存到文件中,方便后续使用。

1. 保存模型

import joblib
joblib.dump(model, 'model.pkl')

2. 加载模型

model = joblib.load('model.pkl')

八、实例:使用Scikit-Learn进行完整的机器学习流程

结合以上步骤,以下是一个完整的机器学习流程实例。

import joblib
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score, classification_report
# 加载数据
iris = load_iris()
X, y = iris.data, iris.target
# 数据标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
# 模型训练和超参数调优
param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf']}
grid_search = GridSearchCV(SVC(), param_grid, cv=5)
grid_search.fit(X_train, y_train)
# 最佳模型评估
best_model = grid_search.best_estimator_
y_pred = best_model.predict(X_test)
print("Best Parameters:", grid_search.best_params_)
print("Accuracy:", accuracy_score(y_test, y_pred))
print("Classification Report:\n", classification_report(y_test, y_pred))
# 保存模型
joblib.dump(best_model, 'best_model.pkl')

结论

Scikit-Learn作为一款强大的机器学习库,提供了从数据预处理到模型评估的全流程工具,适合各种机器学习任务。通过掌握Scikit-Learn的基本用法和核心组件,开发者可以快速构建和优化机器学习模型,解决实际问题。如果你有任何问题或建议,欢迎在评论区留言。感谢阅读,祝你在机器学习的道路上取得更大进展!


希望这篇关于Scikit-Learn的基础教程能帮助你更好地理解和使用这一强大的工具。如果你觉得这篇博客对你有所帮助,别忘了分享给你的朋友并关注我的博客,获取更多实用的机器学习知识和技巧。

相关文章
|
1月前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
7天前
|
SQL 关系型数据库 MySQL
milvus-use教程 python
本项目参考vanna项目,获取数据库元数据和问题SQL对,存入Milvus向量数据库,并进行相似性检索。采用m3e-large嵌入模型,通过DatabaseManager类实现数据库连接持久化,MilvusVectorStore类封装了Milvus操作方法,如创建集合、添加数据和查询。项目提供init_collections、delete_collections等文件用于初始化、删除和管理集合。所用Milvus版本较新,API与vanna项目不兼容。 [项目地址](https://gitee.com/alpbeta/milvus-use)
76 9
|
13天前
|
大数据 开发者 C++
Python语法糖详解教程
《Python语法糖详解教程》介绍了编程语言中的“语法糖”,即通过特殊语法形式简化代码,使代码更简洁、易读和高效。文章详细解析了列表推导式、字典推导式、元组解包、条件表达式、with语句和装饰器等核心语法糖,并提供了具体示例和最佳实践指南。通过这些技巧,开发者可以在保持底层功能不变的前提下,显著提升开发效率和代码质量。
34 8
|
18天前
|
机器学习/深度学习 数据可视化 算法
Python与机器学习:使用Scikit-learn进行数据建模
本文介绍如何使用Python和Scikit-learn进行机器学习数据建模。首先,通过鸢尾花数据集演示数据准备、可视化和预处理步骤。接着,构建并评估K近邻(KNN)模型,展示超参数调优方法。最后,比较KNN、随机森林和支持向量机(SVM)等模型的性能,帮助读者掌握基础的机器学习建模技巧,并展望未来结合深度学习框架的发展方向。
43 9
Python与机器学习:使用Scikit-learn进行数据建模
|
2月前
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
392 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
16天前
|
C语言 Python
Python学习:内建属性、内建函数的教程
本文介绍了Python中的内建属性和内建函数。内建属性包括`__init__`、`__new__`、`__class__`等,通过`dir()`函数可以查看类的所有内建属性。内建函数如`range`、`map`、`filter`、`reduce`和`sorted`等,分别用于生成序列、映射操作、过滤操作、累积计算和排序。其中,`reduce`在Python 3中需从`functools`模块导入。示例代码展示了这些特性和函数的具体用法及注意事项。
|
1天前
|
机器学习/深度学习 数据采集 数据可视化
Python/Anaconda双方案加持!Jupyter Notebook全平台下载教程来袭
Jupyter Notebook 是一款交互式编程与数据科学分析工具,支持40多种编程语言,广泛应用于机器学习、数据清洗和学术研究。其核心优势包括实时执行代码片段、支持Markdown文档与LaTeX公式混排,并可导出HTML/PDF/幻灯片等格式。本文详细介绍了Jupyter Notebook的软件定位、特性、安装方案(Anaconda集成环境与原生Python+PIP安装)、首次运行配置及常见问题解决方案,帮助用户快速上手并高效使用该工具。
|
3月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
105 8
|
3月前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
168 7
|
3月前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
60 4

热门文章

最新文章