我试图用作业库转储使用以下代码:
# use 90% of training data
NI=int(len(X_tr)*0.9)
I1=np.random.choice(len(X_tr),NI)
Xi=X_tr[I1,:]
Yi=Y_tr[I1]
#train a GradientBoostingCalssifier using that data
a=GradientBoostingClassifier(learning_rate=0.02, n_estimators=500, min_samples_leaf=50,presort=True,warm_start=True)
a.fit(Xi,Yi)
# calculate class probabilities for the remaining data
I2=np.array(list(set(range(len(X_tr)))-set(I1)))
Pi=np.zeros(len(X_tr))
Pi[I2]=a.predict_proba(X_tr[I2,:])[:,1].reshape(-1)
#save indexes of training data and the predicted probabilites
np.savetxt('models\\balanced\\GBT1\\oob_index'+str(j)+'.txt',I2)
np.savetxt('models\\balanced\\GBT1\\oob_m'+str(j)+'.txt',Pi)
# save the trained classifier
joblib.dump(a, 'models\\balanced\\GBT1\\m'+str(j)+'.pkl')
训练并保存分类器之后,我关闭终端,打开一个新的终端并运行以下代码来加载分类器并在保存的测试数据集中测试它
^{pr2}$代码打印以下内容: 迭代0的aucs:0.0331879 0.0657821 ............................... 在所有情况下,重新加载分类器的aupr与原始训练分类器的aupr有显著差异。我使用相同版本的sklearn和python进行加载和保存。我做错什么了?在
错误在您的代码中。我建议您使用
train_test_split
分割数据。它通过default对数据进行洗牌下面的代码为
auc
度量生成相同的结果:^{pr2}$
相关问题 更多 >
编程相关推荐