python - 方差阈值显示 RuntimeWarning:切片的自由度 <= 0
问题描述
我有一个特征数据框,我想删除低方差特征。我使用以下函数过滤掉低方差列:
def variance_threshold_selector(data, threshold):
selector = VarianceThreshold(threshold)
selector.fit(data)
return data[data.columns[selector.get_support(indices=True)]]
对于不同的阈值,我收到以下警告:
/anaconda3/envs/Observation/lib/python3.7/site-packages/sklearn/feature_selection/_variance_threshold.py:77: RuntimeWarning: Degrees of freedom <= 0 for slice.
self.variances_ = np.nanvar(X, axis=0)
/anaconda3/envs/Observation/lib/python3.7/site-packages/sklearn/feature_selection/_variance_threshold.py:88: RuntimeWarning: invalid value encountered in less_equal
(self.variances_ <= self.threshold)):
/anaconda3/envs/Observation/lib/python3.7/site-packages/sklearn/feature_selection/_variance_threshold.py:99: RuntimeWarning: invalid value encountered in greater
这些警告是什么,我该如何解决?
解决方案
推荐阅读
- c - int (*cmp)(void) 和 int *cmp(void) 有什么区别?
- reactjs - 如何只输出真?(寻找)
- c - 使用 valgrind 在程序中发现错误的问题
- google-bigquery - BigQuery 中 LIMIT 子句的随机性
- mysql - SQL 连接表,但排除除 1 之外的所有列匹配的重复项
- android - 如何显示和隐藏 Google Material FloatingAction 按钮
- php - Laravel 与 3 个表的关系
- c# - 为什么要在 NET C# 中将 TransactionScope 用于只读数据库调用?
- complexity-theory - 是语言 L := {a^nb^nc^n | n >= 1} 在 P?
- python - PyQt5 将 QCompleter 添加到现有的 QTextEdit