调用 fit 后,您需要在调用predict
之前选择要使用的模型。 这样,它不像其他具有 fit 方法的对象。 在这种情况下, fit
更像search
。
在我看来,要做出三个决定
对于 1 和 2,这里是我想出的选项
import evalml
clf = evalml.AutoClassifierSearch()
auto = evalml.AutoClassifierSearch()
automl = evalml.AutoClassifierSearch()
seacher = evalml.AutoClassifierSearch()
clf = evalml.AutoClassifier()
auto = evalml.AutoClassifier()
automl = evalml.AutoClassifier()
seacher = evalml.AutoClassifier()
对于 2 和 3,这里是我想出的选项
clf.search()
auto.search()
automl.search()
seacher.search()
clf.run()
auto.run()
automl.run()
seacher.run()
我想我喜欢
import evalml
automl = evalml.AutoClassifierSearch()
automl.search()
我的理由是
evalml.AutoClassifierSearch
是描述性的。 这是一个搜索,而不是分类器本身run()
非常通用。clf
与诸如 sklearn 之类的工具一起使用的约定冲突。我喜欢的替代方案是
import evalml
search = evalml.AutoClassifierSearch()
search.run()
这使用了更具描述性的变量名称,因此使用run()
就可以了。 这样做的优点是它不会在我们的示例中引入额外的automl
术语。 我担心的是用户可以随意命名搜索,然后my_custom_variable_name.run()
不是很具有描述性。
有什么想法吗? 我错过了任何变量命名方法? 即使你不认为它们更好,也不妨把它们扔到那里供我们考虑。
我喜欢AutoClassifierSearch()
的原因与您上述相同,但不太喜欢将变量automl
称为变量,因为它看起来很宽泛,而search
因为它是一个动词。 你怎么看autosearch.run()
? 有人在我们的会议上提出了searcher
,这也有效,但它并没有那么好。
我非常喜欢AutoClassifierSearch()
并使用search()
因为我同意run()
如果用户定义他们自己的变量名可能会过于通用。
对于保存初始化类的变量的推荐名称,我喜欢automl
、 searcher
或autosearch
/ autosearcher
超过search
,即使我们确实使用了run()
。 (做了一个简短的谷歌搜索, automl
或aml
弹出其他一些图书馆,看看它的价值)。
@jeremyliweishih我不确定我理解你对search()
看法。 我认为目标是为该方法选择一个描述性动词。 你能澄清一下你在说什么吗?
希望我没有误解,但我认为@jeremyliweishih说search
作为变量的推荐名称有点奇怪,因为它是一个动词......至少,这也是我的感觉:D
@kmax12我的意思是关于变量的推荐名称的评论: search = AutoClassifierSearch()
。 为了澄清,我认为AutoClassifierSearch()
用于类名会很棒,而autosearch
可以用于变量名。 autosearch = AutoClassifierSearch()
。 也许另外三个字母的变量名也可以工作(aml、asc、ats)。
@jeremyliweishih我明白你现在在说什么。 我同意。
基于以上,我想我们都喜欢重命名为AutoClassifierSearch
和AutoRegressorSearch
。
就变量名称而言,我们也失败了
autosearch = AutoClassifierSearch()
automl = AutoClassifierSearch()
aml = AutoClassifierSearch()
我个人喜欢 automl 因为它是描述性的。 aml
是类似的,如果你知道它代表什么,但我认为它不是那么直观。 这就是我在他们的文档中看到 H20 使用的内容(还有其他库吗?)我通常不喜欢在没有充分理由的情况下缩短变量名。 我看到aml
的唯一优势是它是 3 个字符而不是 6 个。
autosearch
对我来说很有意义,因为它基本上是类名。 然而,它比automl
,我不确定它是否增加了清晰度。 如果我们要走autosearch
路线,我认为该方法应该是run
,因为autosearcher = AutoClassifierSearch(); autosearcher.search()
在搜索上似乎有点矫枉过正,哈哈。
所以我看到基于上述 convo 的两个选项
automl = AutoClassifierSearch()
automl.search()
或者
autosearch = AutoClassifierSearch()
autosearch.run()
认为两者都可以,但我更喜欢.search()
不是.run()
!
我喜欢你抛出的所有想法。 我特别喜欢:
automl = AutoClassificationSearch()
automl = AutoRegressionSearch()
automl.search()
不要用更多选项使已经冗长的讨论复杂化,但是:我们应该说AutoRegressorSearch
还是AutoRegressionSearch
? 我偏向后者。 我听到的“回归器”这个词几乎没有听到“回归模型”的多,分类也类似
是的,我同意。 Regressor 也可以参考输入特征、变量等,所以回归比较好。
另外,如果AutoClassification和AutoRegression更类似于“自动机器学习”,因为机器学习、分类和回归都是过程。
除非有任何最终反对意见,否则我们会去
automl = AutoClassificationSearch()
automl = AutoRegressionSearch()
automl.search()
最有用的评论
是的,我同意。 Regressor 也可以参考输入特征、变量等,所以回归比较好。
另外,如果AutoClassification和AutoRegression更类似于“自动机器学习”,因为机器学习、分类和回归都是过程。
除非有任何最终反对意见,否则我们会去