我正在学习机器学习教程,同时学习python。有一部分代码我不明白:
>>> from sklearn.naive_bayes import GaussianNB
>>> clf = GaussianNB()
>>> clf.fit(X, Y)
我不明白第二行。它是一个新的实例化对象,括号是否存在,因为它是一个构造函数?如果是,我如何将其与分配给变量的函数区分开来?我知道在这个例子中由于这一行clf.fit(X, Y)
而相当清楚,但我想知道在其他情况下该怎么做。
答案 0 :(得分:5)
Python中的所有内容都是一个对象。 GaussianNB
可以调用。添加()
会调用它。该调用的返回值完全取决于对象。
在这种特定情况下,GaussianNB()
实例化一个新的GaussianNB
对象并将其返回。
答案 1 :(得分:2)
在此示例中,您可以使用
>>> type(clf)
<class 'sklearn.naive_bayes.GaussianNB'>
并且看到他是一个班级。您也可以使用
>>> help(GaussianNB)
获取更多信息。 建议使用Python指南
类名通常应使用CapWords惯例。
和功能
函数名称应为小写,单词分隔 必要时强调提高可读性。
您可以阅读更多here
答案 2 :(得分:0)
这是一个对象。第三行是您可以随时执行的方法&#39;键入(对象)&#39;看看它是什么类型,所以尝试键入(clf)