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

如何计算scikit-learn模型的运行时间及拟合耗时?

计算scikit-learn模型的拟合耗时

统计scikit-learn模型的训练耗时非常简单,常用以下几种实用方法:

1. 用Python内置time模块直接计时

这是最直观的方式,通过记录模型拟合前后的时间戳差值得到耗时:

import time
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# 准备数据
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 初始化模型
model = RandomForestClassifier(n_estimators=100)

# 计时训练过程
start_time = time.time()
model.fit(X_train, y_train)
end_time = time.time()

elapsed_time = end_time - start_time
print(f"模型拟合耗时: {elapsed_time:.2f} 秒")
# 如需转换为分钟:print(f"模型拟合耗时: {elapsed_time/60:.2f} 分钟")

2. 用timeit模块统计平均耗时

如果想规避单次运行的波动,评估模型训练的稳定耗时,可以用timeit多次运行训练过程取平均值:

import timeit
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# 准备数据
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

def train_model():
    model = RandomForestClassifier(n_estimators=100)
    model.fit(X_train, y_train)

# 运行5次取平均
average_time = timeit.timeit(train_model, number=5) / 5
print(f"模型平均拟合耗时: {average_time:.2f} 秒")

3. 交叉验证场景下的计时

如果使用交叉验证(比如cross_val_score),直接将整个交叉验证过程包裹在计时逻辑中即可:

import time
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import cross_val_score

X, y = load_iris(return_X_y=True)
model = RandomForestClassifier(n_estimators=100)

start_time = time.time()
scores = cross_val_score(model, X, y, cv=5)
end_time = time.time()

elapsed_time = end_time - start_time
print(f"5折交叉验证总耗时: {elapsed_time:.2f} 秒")
print(f"平均准确率: {scores.mean():.2f}")

注意事项

  • 计时结果受硬件性能、系统负载影响,建议在稳定环境下测试;
  • 如果训练包含数据预处理(如标准化、特征工程),需将这些步骤也纳入计时范围(统计端到端训练耗时)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:01:21