如何利用训练、验证、测试集进行模型评估及代码实操疑问
单独提供训练与测试数据集时的使用方法
当训练集(X_train, y_train)和测试集(X_test, y_test)是分别单独给出的,直接按以下步骤操作即可:
首先用训练数据集训练模型(以逻辑回归模型
lr为例):lr.fit(X_train, y_train)接着用训练好的模型对测试数据集进行预测:
y_pred = lr.predict(X_test)最后使用评估指标分析模型在测试集上的性能:
from sklearn.metrics import confusion_matrix, accuracy_score, classification_report print(confusion_matrix(y_test, y_pred)) print(accuracy_score(y_test, y_pred)) print(classification_report(y_test, y_pred))
额外说明
如果需要验证集来调参,不要动现成的测试集,而是从训练数据集中拆分出验证集:
from sklearn.model_selection import train_test_split X_train_split, X_valid, y_train_split, y_valid = train_test_split(X_train, y_train, test_size=0.2, random_state=0) # 用拆分后的训练子集训练模型,验证集调参 lr.fit(X_train_split, y_train_split) y_valid_pred = lr.predict(X_valid) # 基于验证集结果调整模型参数后,再用完整的X_train训练,最后用X_test评估
内容的提问来源于stack exchange,提问作者Teja D
相关产品推荐
相关产品推荐

