github / github/codeql

LGTM.com - false positive for `sklearn.base.BaseEstimator._more_tags()`

オープン
#9,889 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
acknowledged false-positive Python
主要言語
CodeQL
スター
10.1k
フォーク
2.1k
平均マージ
2日 15時間
マージ済み PR(30日)
141

説明

**Description of the false positive**
Using multiple base classes from `sklearn.base` together, e.g.,
```python
from sklearn.base import BaseEstimator, ClusterMixin

class Clustering(ClusterMixin, BaseEstimator):
...
```
LGTM identifies following error: `Base classes have conflicting values for attribute '_more_tags': Function _more_tags and Function _more_tags.`

I think that this is a false positive, because both functions `_more_tags` are used via the `inspect.getmro` function
```python
def _get_tags(self):
collected_tags = {}
for base_class in reversed(inspect.getmro(self.__class__)):
if hasattr(base_class, "_more_tags"):
# need the if because mixins might not have _more_tags
# but might do redundant work in estimators
# (i.e. calling more tags on BaseEstimator multiple times)
more_tags = base_class._more_tags(self)
collected_tags.update(more_tags)
return collected_tags
```
Checkout the [full definition](https://github.com/scikit-learn/scikit-learn/blob/baf0ea25d6dd034403370fea552b21a6776bef18/sklearn/base.py#L348-L357)

**URL to the alert on the project page on LGTM.com**
https://lgtm.com/projects/g/moldyn/MoSAIC/snapshot/c1df9c1a96a193a3e400986fb71b550bf0c42e2f/files/src/mosaic/clustering.py?sort=name&dir=ASC&mode=heatmap#x8e6a118dd37a8a7:1

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。