请写一段代码将xls格式的表格划分为训练集、测试集和验证集,并将其保存
时间: 2024-09-24 18:25:51 浏览: 36
贝叶斯网络java代码及训练集测试集_贝叶斯网络_测试集_
5星 · 资源好评率100%
在Python中,我们可以使用pandas库读取XLS文件,然后利用sklearn库提供的train_test_split函数对数据进行划分。假设我们有一个名为"data.xls"的Excel文件,其中有一列用于标识是否属于训练、测试还是验证数据。
```python
import pandas as pd
from sklearn.model_selection import train_test_split
# 读取Excel文件
df = pd.read_excel('data.xls')
# 假设最后一列是标签列,例如'Set','Train', 'Test', 'Validation'
set_column = df.columns[-1]
# 将标签转换为数值类型(方便处理)
df[set_column] = df[set_column].astype('category').cat.codes
# 划分数据集,这里以80%的数据作为训练集,10%作为验证集,剩下的10%作为测试集
train_df, test_val_df = train_test_split(df, test_size=0.2, random_state=42)
train_df, val_df = train_test_split(train_df, test_size=0.5 / 1.8, random_state=42) # 验证集占剩余的50%
# 保存划分后的数据集
train_df.to_excel('train_data.xlsx', index=False)
val_df.to_excel('validation_data.xlsx', index=False)
test_val_df.to_excel('test_data.xlsx', index=False)
阅读全文