Scikit-learn机器学习库使用指南

紫色幽梦 2019-10-04 ⋅ 12 阅读

简介

Scikit-learn 是一个流行的 Python 机器学习库,提供了众多经典的机器学习算法和工具。它简单易用,功能强大,可用于各种机器学习任务,包括分类、回归、聚类、降维等。本文将介绍 Scikit-learn 的基本用法和一些常用的机器学习算法示例。

安装

你可以使用 pip 安装 Scikit-learn:

pip install scikit-learn

导入

导入 Scikit-learn 的方式如下:

import sklearn

数据集

Scikit-learn 提供了许多常用的数据集,可以用于训练和测试机器学习模型。使用这些数据集非常方便,无需自行下载和处理。下面是一个使用 Iris 数据集的示例:

from sklearn.datasets import load_iris

# 加载数据集
iris = load_iris()

# 输出特征矩阵
X = iris.data
print(X)

# 输出目标向量
y = iris.target
print(y)

划分数据集

在训练机器学习模型之前,通常需要将数据集划分为训练集和测试集。Scikit-learn 提供了用于划分数据集的工具,如下所示:

from sklearn.model_selection import train_test_split

# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

构建模型

Scikit-learn 支持许多经典的机器学习算法。下面是一个使用决策树算法构建分类模型的示例:

from sklearn.tree import DecisionTreeClassifier

# 构建模型
clf = DecisionTreeClassifier()

# 使用训练集训练模型
clf.fit(X_train, y_train)

模型评估

完成模型训练后,可以使用测试集对模型进行评估。Scikit-learn 提供了多种评估指标,如下所示:

from sklearn.metrics import accuracy_score

# 使用测试集进行预测
y_pred = clf.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(accuracy)

调参与交叉验证

为了获得更好的模型性能,通常需要对模型进行调参。Scikit-learn 提供了交叉验证和网格搜索等方法来帮助选择最佳的参数组合。下面是一个使用网格搜索调参的示例:

from sklearn.model_selection import GridSearchCV

# 定义参数网格
param_grid = {'max_depth': [3, 5, 7]}

# 构建网格搜索对象
grid_search = GridSearchCV(estimator=clf, param_grid=param_grid, cv=5)

# 使用训练集进行网格搜索
grid_search.fit(X_train, y_train)

# 输出最佳参数
print(grid_search.best_params_)

总结

本文介绍了 Scikit-learn 的基本用法和一些常用的机器学习算法示例。Scikit-learn 提供了丰富的功能,可以帮助你快速构建和评估机器学习模型。希望通过本文的介绍,你能够更好地使用 Scikit-learn 进行机器学习任务。


全部评论: 0

    我有话说: