当使用 scikit-learn 中的决策树分类器时,文档显示您将存储分类器的变量重新分配给调用该fit()方法的自身输出:
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)
Run Code Online (Sandbox Code Playgroud)
但是,现在如果我调用预测方法:
clf.predict([[1,1]])
Run Code Online (Sandbox Code Playgroud)
Pycharm 温暖了我:
Unresolved attribute reference 'predict' for class 'object'
Run Code Online (Sandbox Code Playgroud)
您可以轻松地在 Pycharm 中查找 的声明fit(),该方法仅返回self,因此不需要重新分配,您可以将其删除,这样我就可以:
clf = tree.DecisionTreeClassifier()
clf.fit(X, Y)
Run Code Online (Sandbox Code Playgroud)
一切都运行顺利,但 Pycharm 没有给我关于后者的警告。我很好奇,因为我对 Python 和 Pycharm 相当陌生,为什么它会给我这个警告?有没有办法让这个 IDE 识别该方法返回self,因此仍然是具有相同方法的相同类型predict()?否则有什么办法可以消除这个警告吗?