sklearn划分数据集
时间: 2023-09-03 11:10:33 浏览: 91
在使用 Scikit-learn 的时候,我们可以使用 `train_test_split` 函数来划分数据集。该函数的作用是将数据集随机划分为训练集和测试集两部分。
函数的输入参数包括:
- `arrays`:需要划分的数据集。可以是 NumPy 数组、Pandas 数据框或稀疏矩阵。
- `test_size`:测试集的大小。可以是 float 值(表示测试集占总数据集的比例)或整数值(表示测试集的样本数量)。
- `train_size`:训练集的大小。与 `test_size` 相似,不过是指训练集的大小。
- `random_state`:随机数生成器的种子。用于控制每次划分数据集时的随机结果。
- `shuffle`:是否对数据集进行随机排序。默认为 True。
- `stratify`:是否按照数据集的标签进行分层抽样。默认为 None,表示不进行分层抽样。
函数的输出结果包括:
- `X_train`:训练集的特征数据。
- `X_test`:测试集的特征数据。
- `y_train`:训练集的标签数据。
- `y_test`:测试集的标签数据。
下面是一个示例代码:
``` python
from sklearn.model_selection import train_test_split
X = [[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]
y = [0, 1, 0, 1, 0]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
```
上述代码将数据集 `X` 和标签集 `y` 划分为训练集和测试集,其中测试集的大小为总数据集的 30%。划分结果保存在 `X_train`、`X_test`、`y_train` 和 `y_test` 四个变量中。
阅读全文