python 对于数据框如何分层训练集和测试集
时间: 2023-05-23 13:06:27 浏览: 72
python中如何实现将数据分成训练集与测试集的方法
A:Python 中可以通过 Scikit-learn 库中的 train_test_split() 方法来实现数据框的分层训练集和测试集。
具体步骤如下:
第一步:导入 Scikit-learn 库。
```python
from sklearn.model_selection import train_test_split
```
第二步:将数据框中的特征值和目标值分为 X 和 y。
```python
X = df.drop('target', axis=1) # 特征值
y = df['target'] # 目标值
```
第三步:使用 train_test_split() 方法划分数据集。
```python
train_X, test_X, train_y, test_y=train_test_split(X, y, test_size=0.2, stratify=y, random_state=1)
```
参数说明:
- X:特征值数据框。
- y:目标值数据框。
- test_size:测试集所占的比例,例如上述代码中的 test_size=0.2,表示测试集占总数据集的 20%。
- stratify:按照目标值 y 来分层采样,保证测试集和训练集中目标值的比例相同。
- random_state:随机种子,用于控制每次划分的结果一致性。
最后,得到的 train_X、train_y、test_X、test_y 对应的是训练集的特征值、训练集的目标值、测试集的特征值和测试集的目标值。
阅读全文