基于Python,将数据集TrecQA_train.txt划分为训练集和测试集,“TrecQA_train.txt”为问答数据集,每行有三列,第一列为问题,第二列为答案,第三列为问题和答案的相关性,给出具体可运行代码
时间: 2024-10-25 22:05:05 浏览: 10
在Python中,我们可以使用`sklearn`库中的`train_test_split`函数来划分数据集。首先,你需要读取文本文件并处理成适合模型训练的数据格式。假设你的数据集中每一行格式如下:
```text
问题1 答案1 相关性1
问题2 答案2 相关性2
...
```
以下是将数据划分为训练集和测试集的一个示例代码:
```python
import pandas as pd
from sklearn.model_selection import train_test_split
# 读取数据集
data = []
with open('TrecQA_train.txt', 'r') as file:
for line in file:
question, answer, relevance = line.strip().split('\t')
data.append([question, answer, relevance])
# 将数据转换为DataFrame
df = pd.DataFrame(data, columns=['Question', 'Answer', 'Relevance'])
# 划分数据集,通常我们会保留70%的数据作为训练集,剩下的30%作为测试集
train_df, test_df = train_test_split(df, test_size=0.3, random_state=42)
# 训练集保存到新的txt文件
train_df.to_csv('train_data.txt', sep='\t', index=False, header=False)
# 测试集保存到另一个txt文件
test_df.to_csv('test_data.txt', sep='\t', index=False, header=False)
阅读全文