当我使用1列python sklearn
LogisticRegression
(不是pandas
对象)来拟合DataFrame
' Series
时,我收到了这个警告:
/Library/Python/2.7/site-packages/sklearn/preprocessing/label.py:125:
DataConversionWarning: A column-vector y was passed when a 1d array was
expected. Please change the shape of y to (n_samples, ), for example using
ravel().
y = column_or_1d(y, warn=True)
我知道我可以在代码中轻松宣传此警告,但如何关闭这些警告?
答案 0 :(得分:12)
您可以使用:
from sklearn.exceptions import DataConversionWarning
warnings.filterwarnings(action='ignore', category=DataConversionWarning)
答案 1 :(得分:9)
已发布here,
with warnings.catch_warnings():
warnings.simplefilter("ignore")
# Do stuff here
感谢上面的Andreas发布链接。
答案 2 :(得分:3)
实际上警告会告诉你究竟是什么问题:
你传递了一个恰好是(X, 1)
形式的二维数组,但该方法需要一个1d数组,并且必须采用(X, )
形式。
此外,警告会告诉您如何转换为您需要的表单:y.ravel()
。因此,不要压制警告,最好摆脱它。