Function 执行脚本时保存函数结果

Function 执行脚本时保存函数结果,function,save,Function,Save,对python来说是个新手。我有一个机器学习脚本,我想做的是,每次运行脚本时,我都想保存结果。但我不明白的是,如果所有的代码都在一个脚本中,如何保存结果而不重写?例如: auc_score = cross_val_score(logreg_model, X_RFECV, y_vars, cv=kf, scoring='roc_auc').mean() auc_scores=[] def auc_log(): auc_scores.append(auc_score) return(

对python来说是个新手。我有一个机器学习脚本,我想做的是,每次运行脚本时,我都想保存结果。但我不明白的是,如果所有的代码都在一个脚本中,如何保存结果而不重写?例如:

auc_score = cross_val_score(logreg_model, X_RFECV, y_vars, cv=kf, scoring='roc_auc').mean()
auc_scores=[]
def auc_log():
    auc_scores.append(auc_score)
    return(auc_scores)
auc_log()

每次我运行这个.py文件时,auc_分数列表将以空白开始,并且直到每次执行函数时,列表才会更新,但是如果运行整个脚本,则上述内容将执行,并再次以空白状态启动保存的列表。我觉得这相当简单,只是没有从持续部署的角度正确地考虑这一点。谢谢

最好使用每个结果列表或零列表作为acc_log函数的变量,这样可以保留所有函数结果。 比如说,

auc_score=cross_val_score(logreg_model, X_RFECV, y_vars, cv=kf, scoring='roc_auc').mean()

#if auc_score is 'int' or 'float', you must conver it to list type 
auc_score_=[]
auc_score_.append(auc_score)

auc_score_zero=[]

def acu_log(acu_score_1,auc_score_2):
    acu_scores=acu_score_1+auc_score_2
    return acu_scores

initial_log=acu_log(auc_score_zero, auc_score_)
#print (initial_log)

second_log=acu_log(initial_log, auc_score_)
#print (second_log)
如果您想在每个步骤返回结果后将每个acc_日志列表保存到硬盘上,“pickle module”便于处理

我不确定这是否真的是你想要的,但希望我的回答有助于解决你的问题