我正在尝试根据“状态”条件对一组对象执行过滤。
...
or {
office {
state {
'in'('abbrev', filters.stateFilter)
}
}
state {
'in'('abbrev', filters.stateFilter)
}
}
如果该对象中包含OR中的State过滤器,则它只会获取与State匹配的对象,而不会与Office.State匹配。如果我删除了状态过滤器代码,则它会正确获取对象的Office.State。
该标准需要获取对象的状态(如果有一个)以及对象的Office.State(如果有一个)。
我假设它与条件构建器中的某些隐式联接有关?
任何线索都将不胜感激!
答案 0 :(得分:0)
感谢Jeff的评论,我能够打开SQL日志记录以使用更多Google搜索来查找问题解决方案。正如我所怀疑的,它正在执行内部联接。这是解决该问题所需的代码。
tuned_tree = DecisionTreeClassifier(max_leaf_nodes=1000, max_features=40)
tuned_tree.fit(X_train, y_train)
print("Number of features: {}".format(tuned_tree.tree_.n_features))
print("Number of nodes (leaves): {}".format(tuned_tree.tree_.node_count),"\n")