BaggingRegressor 無限迴圈/不停止執行的問題
阿新 • • 發佈:2018-11-16
當我使用BaggingRegressor來控制過擬合時,我遇到了程式迴圈執行,而且完全佔用CPU的問題,開啟工作管理員一看,發現還真是個並行程式。無意間居然牽涉到了並行,這是我敲完那行程式碼之後沒有想到的。
使用os.system("pause"),讓程式暫停後發現python還是給了一些提示:
ImportError: [joblib] Attempting to do parallel computing without protecting your import on a system that does not support forking. To use parallel-computing in a script, you must protect your main loop using "
其實我本來是另外一個Python檔案執行匯入這個BaggingRegressor的python檔案的,看到這個提示發現沒戲了,因為"if __name__ == '__main__'"不允許其他地方匯入。
解決的方案也就是如上所述,在前面加上"if __name__ == '__main__'"就可以了,下面舉了個例子:
if __name__ == 'main': '''your code here...''' llr = linear_model.LogisticRegression(C = 1.0, penalty = 'l1', tol = 1e-6) bagging_llr = BaggingRegressor(llr, n_estimators = 20, max_samples = 0.8, max_features = 1.0, bootstrap = True, bootstrap_features = False, n_jobs = -1) bagging_llr.fit(X, y) '''your code here...'''