如何在Python中使用Sklearn进行培训测试分割

  • Post category:Python

在使用Sklearn进行培训测试分割时,我们需要使用到train_test_split方法。下面我将为你介绍使用Sklearn进行培训测试分割的完整攻略。

准备数据

首先,我们需要准备好需要处理的数据。以鸢尾花数据集为例,我们可以使用以下代码进行数据准备:

from sklearn.datasets import load_iris

iris = load_iris()
X = iris.data
y = iris.target

导入Sklearn

接下来,我们需要导入Sklearn库并调用train_test_split方法。具体步骤如下:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

上述代码中,我们使用train_test_split方法将数据集拆分成训练集(X_train, y_train)和测试集(X_test, y_test)。test_size参数指定测试集大小,random_state参数指定生成随机数的种子,用于确保每次运行结果一致。

使用拆分的数据进行训练

接下来,我们可以使用拆分的数据进行训练。以KNN算法为例,我们可以使用以下代码训练模型:

from sklearn.neighbors import KNeighborsClassifier

knn = KNeighborsClassifier()
knn.fit(X_train, y_train)

测试训练结果

最后,我们使用测试数据集测试训练结果,并输出准确度。

from sklearn.metrics import accuracy_score

y_predict = knn.predict(X_test)
accuracy = accuracy_score(y_test, y_predict)
print("Accuracy: {:.2f}%".format(accuracy * 100))

上述代码中,我们使用predict方法预测测试数据集中的结果,并使用accuracy_score方法计算准确度,并输出结果。

以下是在sklearn中进行培训测试分割的另一个示例。

示例2:在sklearn中使用岭回归模型

岭回归模型是一种用于处理多元线性回归问题的模型,它可以有效地解决数据中存在多重共线性的问题。以下是在sklearn中使用岭回归模型进行培训测试分割的示例。

from sklearn.datasets import load_boston
from sklearn.linear_model import Ridge
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split

boston = load_boston()
X = boston.data
y = boston.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

ridge = Ridge(alpha=0.1)
ridge.fit(X_train, y_train)

y_predict = ridge.predict(X_test)
mse = mean_squared_error(y_test, y_predict)
print("Mean Squared Error: {:.2f}".format(mse))

上述代码中,我们使用load_boston方法加载数据,并使用train_test_split方法拆分数据集。接着,我们使用Ridge方法训练岭回归模型。最后,我们使用predict方法预测测试数据集中的结果,并使用mean_squared_error方法计算均方误差,并输出结果。

以上就是在Python中使用Sklearn进行培训测试分割的完整攻略,分别有基于KNN的分类和基于岭回归的回归两个示例。