Sklearn 入门
- 导入必要的库和模块:
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
-
获取和准备数据: 在开始建模之前,需要有一个数据集。scikit-learn支持多种数据格式,包括NumPy数组、Pandas数据框、CSV文件等。确保数据已经准备好并加载到适当的数据结构中。
-
划分数据集: 通常,你需要将数据集划分为训练集和测试集,以便在模型训练和评估中使用不同的数据。你可以使用
train_test_split
函数来实现这一点。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
这将数据划分为80%的训练数据和20%的测试数据。
- 选择模型: 选择适当的模型来解决你的问题。在scikit-learn中,有各种各样的模型,包括线性回归、决策树、随机森林、支持向量机等。
例如,如果你要解决一个回归问题,可以选择线性回归模型:
model = LinearRegression()
- 训练模型: 使用训练数据来训练你的模型。
model.fit(X_train, y_train)
- 进行预测: 使用训练好的模型对测试数据进行预测。
y_pred = model.predict(X_test)
- 评估模型: 使用合适的评估指标来评估模型的性能。例如,在回归问题中,可以使用均方误差(Mean Squared Error)来衡量模型的性能。
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)
下面是一些sklearn的基本使用方法:
-
安装sklearn库:在命令行中使用
pip install scikit-learn
命令进行安装。 -
导入sklearn模块:通常,我们使用以下方式导入sklearn的相关模块:
import sklearn
from sklearn import 模块名
- 加载数据集:sklearn提供了很多常用的数据集,可以使用
datasets
模块来加载数据集。例如,加载Iris数据集的代码如下:
python
from sklearn import datasets
iris = datasets.load_iris()
- 划分数据集:通常,我们需要将数据集划分为训练集和测试集,以便评估模型的性能。可以使用
model_selection
模块的train_test_split
函数来实现。例如,将数据集划分为训练集和测试集的代码如下:
python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)
- 创建模型:根据任务的需求选择合适的机器学习模型,并创建模型对象。例如,创建一个支持向量机(SVM)分类模型的代码如下:
python
from sklearn import svm
clf = svm.SVC()
- 训练模型:使用训练数据集训练模型。可以使用模型对象的
fit
方法来实现。例如,训练SVM模型的代码如下:
python
clf.fit(X_train, y_train)
- 预测:使用训练好的模型对新样本进行预测。可以使用模型对象的
predict
方法来实现。例如,对测试集进行预测的代码如下:
python
y_pred = clf.predict(X_test)
- 评估模型:使用评估指标来评估模型的性能。sklearn提供了很多评估指标,例如准确率、精确率、召回率等。例如,计算模型准确率的代码如下:
python
from sklearn import metrics
accuracy = metrics.accuracy_score(y_test, y_pred)