Scikit-learn(简称 sklearn)是一个开源的 Python 机器学习库,它提供了许多简单有效的工具用于数据挖掘和数据分析。以下是一个基础的 sklearn 教程,旨在帮助您快速上手并使用 sklearn 进行机器学习任务。
安装 sklearn
在开始之前,确保您的 Python 环境已经安装了 sklearn。可以使用 pip 进行安装:
pip install scikit-learn
导入 sklearn
在 Python 脚本或 Jupyter 笔记本中,首先导入 sklearn:
import sklearn
数据集
sklearn 提供了一些内置的数据集,方便我们进行机器学习实验。例如,加载鸢尾花(Iris)数据集:
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
划分数据集
在机器学习中,我们通常将数据集划分为训练集和测试集:
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)
选择模型
选择一个机器学习模型。例如,使用决策树分类器:
from sklearn.tree import DecisionTreeClassifier
clf = DecisionTreeClassifier()
训练模型
使用训练集数据训练模型:
clf.fit(X_train, y_train)
预测
使用训练好的模型对测试集进行预测:
predictions = clf.predict(X_test)
评估模型
评估模型的性能,例如使用准确率:
from sklearn.metrics import accuracy_score
print("Accuracy:", accuracy_score(y_test, predictions))
超参数调优
使用网格搜索(GridSearchCV)来寻找最佳的超参数:
from sklearn.model_selection import GridSearchCV
param_grid = {'max_depth': [2, 4, 6, 8], 'min_samples_split': [2, 5, 10]}
grid_search = GridSearchCV(clf, param_grid, cv=5)
grid_search.fit(X_train, y_train)
print("Best parameters:", grid_search.best_params_)
保存和加载模型
使用 joblib 库保存和加载训练好的模型:
from joblib import dump, load
dump(clf, 'model.joblib') # 保存模型
clf_loaded = load('model.joblib') # 加载模型
结语
以上是 sklearn 的基础教程,涵盖了从安装、导入、数据集处理、模型选择、训练、预测、评估到超参数调优和模型保存的整个机器学习流程。通过这个教程,您应该能够开始使用 sklearn 进行基本的机器学习任务。随着您对 sklearn 的进一步学习和实践,您将能够掌握更多高级功能和技巧。