使用Turi Create实现最近邻分类器报错:'module' object not callable
解决Turi Create中"TypeError: 'module' object not callable"错误
看起来你在调用最近邻分类器的时候用错了API入口,导致触发了这个模块无法调用的错误。我来帮你拆解一下问题和解决方案:
错误原因
你代码里的tc.nearest_neighbor_classifier是Turi Create中的一个子模块,而不是可直接调用的函数方法。当你把模块当成函数去调用时,Python就会抛出TypeError: 'module' object not callable这个错误。
正确的调用方式
Turi Create的最近邻分类器有两种正确的创建方式,选其中一种就行:
方式1:使用通用最近邻接口(指定分类任务)
import turicreate as tc # 假设你的train_data是SFrame对象,features是特征列列表 clf = tc.nearest_neighbors.create(train_data, target='4', features=features, task='classification')
方式2:使用分类器专属接口
import turicreate as tc clf = tc.classifiers.nearest_neighbor.create(train_data, target='4', features=features)
额外排查点
- 确认你的
train_data是Turi Create的SFrame对象,这是所有Turi Create模型要求的标准输入格式 - 检查
features参数是包含特征列名称的列表,且这些列在train_data中存在 - 如果你的Turi Create版本较旧,建议升级到最新稳定版,避免API差异导致的问题
内容的提问来源于stack exchange,提问作者user
相关产品推荐
相关产品推荐

