按照XGBoost實戰完全總結(下)中的代碼運行時,儘管能夠正常運行,且出了正確的圖,但是將其代碼在pycharm自帶的控制檯運行時發現最後幾行代碼出現問題:
# 顯示重要特徵
plot_importance(model)
plt.show()
xgb.plot_tree(model, num_trees=10)
plt.show()
這樣的代碼在控制檯運行時,會阻礙代碼的運行,在運行至di第一個show之後,將出現的第一個圖關閉,發現下面的代碼不能正常運行,百度了許久沒有發現原因,後查閱工具書,發現這麼一段話:
也就是說show本身就是阻礙程序運行的一行代碼,因此,我將代碼優化爲下面的形式:
# 顯示重要特徵
plot_importance(model)
plt.savefig("figure1.png",dpi=120)
xgb.plot_tree(model, num_trees=10)
plt.savefig("figure2.png",dpi=120)
這樣的話就不用直接展示出來,而是保存下來。