关键词

按给定的比例随机分割一个Pandas数据框架

按给定的比例随机分割一个Pandas数据框架的完整攻略如下:

  1. 首先,导入所需的库
import pandas as pd
from sklearn.model_selection import train_test_split
  1. 加载数据集,这里以鸢尾花数据集为例
df = pd.read_csv('https://archive.ics.uci.edu/ml/'
                 'machine-learning-databases/iris/iris.data',
                 header=None)
  1. 数据集一般包含两部分:特征和目标变量。我们需要将其分开,其中特征为前四列数据,目标变量为最后一列数据
X = df.iloc[:, :-1].values # 特征
y = df.iloc[:, -1].values # 目标变量
  1. 然后,我们需要根据给定的比例随机分割数据集。这里使用scikit-learn库的train_test_split()函数
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

其中,test_size参数表示测试集数据量所占比例,这里为30%;random_state参数表示随机种子,保证每次运行时分割结果相同。

  1. 现在,我们已经成功将数据集随机分割,可以对分割结果进行检查
print('训练集样本数:', X_train.shape[0])
print('测试集样本数:', X_test.shape[0])
  1. 最后,可以将分割后的数据集保存为新的数据框架
train_df = pd.DataFrame(X_train, columns=df.columns[:-1])
train_df['target'] = pd.Series(y_train, index=train_df.index)
test_df = pd.DataFrame(X_test, columns=df.columns[:-1])
test_df['target'] = pd.Series(y_test, index=test_df.index)

以上就是按给定的比例随机分割一个Pandas数据框架的完整攻略,下面是完整实例代码

本文链接:http://task.lmcjl.com/news/17356.html

展开阅读全文