简介
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)