gpt4 book ai didi

python - 使用 joblib 在 sklearn 中重用 cross_val_score 拟合的模型

转载 作者:太空狗 更新时间:2023-10-29 22:12:49 28 4
gpt4 key购买 nike

<分区>

我在 python 中创建了以下函数:

def cross_validate(algorithms, data, labels, cv=4, n_jobs=-1):
print "Cross validation using: "
for alg, predictors in algorithms:
print alg
print
# Compute the accuracy score for all the cross validation folds.
scores = cross_val_score(alg, data, labels, cv=cv, n_jobs=n_jobs)
# Take the mean of the scores (because we have one for each fold)
print scores
print("Cross validation mean score = " + str(scores.mean()))

name = re.split('\(', str(alg))
filename = str('%0.5f' %scores.mean()) + "_" + name[0] + ".pkl"
# We might use this another time
joblib.dump(alg, filename, compress=1, cache_size=1e9)
filenameL.append(filename)
try:
move(filename, "pkl")
except:
os.remove(filename)

print
return

我认为为了进行交叉验证,sklearn 必须适合您的功能。

但是,当我稍后尝试使用它时(f 是我在上面保存的 pkl 文件 joblib.dump(alg, filename, compress=1, cache_size=1e9)):

alg = joblib.load(f)  
predictions = alg.predict_proba(train_data[predictors]).astype(float)

我在第一行中没有收到任何错误(所以看起来负载正在工作),但随后它告诉我NotFittedError: Estimator not fitted, callfitbefore exploiting the model。 在下一行。

我做错了什么?我不能重用适合计算交叉验证的模型吗?我看了Keep the fitted parameters when using a cross_val_score in scikits learn但要么我不明白答案,要么这不是我要找的。我想要的是用 joblib 保存整个模型,这样我以后就可以使用它而无需重新拟合。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com