You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python机器学习中分别使用训练文件与测试文件?

如何在Python机器学习中使用训练与测试数据集(新手友好版)

Hey there! 既然你是编程新手,咱们一步步来拆解,尽量用最直白的方式讲清楚~

第一步:完善数据加载(用更省心的工具)

你已经写了load_file的开头,其实在机器学习场景下,用pandas库加载CSV文件会更简单,它能帮你自动把数据整理成类似Excel表格的结构,不用手动处理每一行。首先你需要先安装pandas(如果还没装的话,在终端里敲这个命令):

pip install pandas

然后直接用两行代码加载训练和测试文件就行:

import pandas as pd

# 加载训练集和测试集,替换成你的文件实际路径
train_df = pd.read_csv('train.csv')
test_df = pd.read_csv('test.csv')

加载完后,你可以用print(train_df.head())看看前5行数据,确认数据是否正确加载。

第二步:拆分特征与标签

你的CSV第一列是评论(我们叫特征X,是模型用来学习的输入),第二列是情感标签(标签y,是模型要预测的输出)。咱们把它们分开:

# 训练集拆分:取第一列所有行作为评论,第二列作为标签
X_train = train_df.iloc[:, 0]
y_train = train_df.iloc[:, 1]

# 测试集做同样的拆分
X_test = test_df.iloc[:, 0]
y_test = test_df.iloc[:, 1]

小提示:Python里计数从0开始,所以iloc[:,0]代表所有行的第一列,iloc[:,1]代表所有行的第二列。

第三步:把文本转成模型能懂的格式

机器学习模型没法直接理解文字,所以咱们需要把评论转换成数字特征。这里用sklearn库的CountVectorizer(把每个词出现的次数作为特征),先安装sklearn:

pip install scikit-learn

然后完成文本到数字的转换:

from sklearn.feature_extraction.text import CountVectorizer

# 初始化转换器,先从训练集学习词汇表(不能用测试集学,不然模型会作弊)
vectorizer = CountVectorizer()
X_train_vec = vectorizer.fit_transform(X_train)
# 用同样的词汇表转换测试集
X_test_vec = vectorizer.transform(X_test)

第四步:训练模型并测试效果

咱们用一个简单的逻辑回归模型(适合新手,效果也稳定):

from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# 初始化模型
model = LogisticRegression()
# 用训练数据教模型学习规律
model.fit(X_train_vec, y_train)

# 用测试数据验证模型学得怎么样
y_pred = model.predict(X_test_vec)

# 计算预测准确率,看看模型准不准
accuracy = accuracy_score(y_test, y_pred)
print(f"测试集预测准确率:{accuracy:.2f}")

备选:如果坚持用自己的load_file函数

要是你想继续用自己写的加载逻辑,也可以用Python内置的csv模块完善,代码如下:

import csv

def load_file(file_path):
    comments = []
    labels = []
    with open(file_path, 'r', encoding='utf-8') as f:
        reader = csv.reader(f)
        next(reader)  # 如果你的CSV有表头,记得跳过第一行
        for row in reader:
            comments.append(row[0])
            labels.append(int(row[1]))  # 把标签转成整数类型
    return comments, labels

# 调用函数加载数据
X_train, y_train = load_file('train.csv')
X_test, y_test = load_file('test.csv')

之后的文本转换和模型训练步骤和上面完全一样~

内容的提问来源于stack exchange,提问作者RennyM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:32:37