2017-06-20 226 views
0
import operator 
import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
import xgboost as xgb 
import seaborn as sns 
%matplotlib inline 

pd.set_option('display.max_columns', 50) 

導入上述文件後,我得到了一個模塊未找到錯誤,因爲我沒有安裝xboost,因爲我是python和數據分析的新手。棄用警告

然後我直接從here安裝它。

現在安裝xgboost我得到了一條反對預警相同的代碼上面的線是如下之後:

C:\ProgramData\Anaconda3\lib\site-packages\sklearn\cross_validation.py:44: 
DeprecationWarning: This module was deprecated in version 0.18 in favor 
of the model_selection module into which all the refactored classes and 
functions are moved. 
Also note that the interface of the new CV iterators are different from 
that of this module. This module will be removed in 0.20. 
    "This module will be removed in 0.20.", DeprecationWarning) 

請告訴我爲什麼,該警報顯示出來,如何解決這個問題?

+0

這意味着,在產品的代碼更高版本使用的是將不再工作。閱讀'model_selection'模塊的文檔,並將代碼放入其中,以便用戶可以在更高版本中使用您的代碼。 – rassar

+1

Sklearn將會停止交叉驗證。他們把在cross_validation下的類放到model_selection中。我認爲XGBoost也已更新,因爲它們使用'try' /'except'來導入'KFold','StratifiedKFold'(例如[https://github.com/dmlc/xgboost/blob/6f16f0ef5829965ba420ef6937617600d286820a/python-包/ xgboost/compat.py#L51))。 – Jarad

回答

0

使用

from sklearn.model_selection import cross_val_score 

相反

from sklearn.cross_validation import cross_val_score 
+0

在OP的問題中沒有這樣的代碼行,所以你甚至在回答什麼? – Ajean

+0

@Ajean我只是有同樣的錯誤:DeprecationWarning:該模塊在版本0.18中被棄用,贊成 的model_selection模塊,所有重構類和 函數被移入其中。 ......所以可能他會在其他文件或第44行導入cross_validation(這就是棄用警告所說的)。 –

+0

這只是一個猜測。不要寫一個答案,你應該詢問OP的評論。你現在還不能這樣做,但你應該等到可以的時候,否則你的回答很可能是錯的,因此會吸引低價。 – Ajean