与上面的问题标题相关的问题很多,所有这些基本上都告诉您要做:
import warnings
warnings.filterwarnings('ignore')
并确保将其放置在 首次导入之前。
但是,即使这样做了,我仍然收到seaborn
和sklearn
的警告。我得到UserWarning
,DataConversionWarning
和RuntimeWarning
,根据文档,它们都继承自Warning
,应该包含在上面的代码中。
还有另一种隐藏这些警告的方法吗? (我还是不能解决大多数问题)
编辑
示例1:
C:\Anaconda3\lib\site-packages\sklearn\preprocessing\data.py:645: DataConversionWarning: Data with input dtype int32, int64 were all converted to float64 by StandardScaler.
return self.partial_fit(X, y)
示例2
C:\Anaconda3\lib\site-packages\seaborn\distributions.py:340: UserWarning: Attempted to set non-positive bottom ylim on a log-scaled axis.
Invalid limit will be ignored.
ax.set_ylim(0, auto=None)
答案 0 :(得分:1)
Example2
很难追踪; seaborn进口统计模型。然后在statsmodels/tools/sm_exceptions.py
中找到this line
warnings.simplefilter('always', category=UserWarning)
,其中可逆转以前的任何用户警告设置。
目前的解决方案是删除该行或者在导入seaborn之后(因此是statsmodels)设置警告状态 。在将来的statsmodels版本中,此问题将由PR 4712修复,因此也可以选择使用statsmodels的开发版本。
示例1
我找不到从sklearn
复制第一个示例的方法;因此,可能有或没有不同的原因。