#这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战面试
该题为Leetcode-94:二叉树的中序遍历算法
方法:迭代markdown
须要一个栈的空间,先用指针找到每颗子数的最左下角,而后进行进出栈的操做。网络
代码以下:app
class Solution:
def inorderTraversal(self, root: TreeNode) -> List[int]:
if not root:
return []
stack = []
res = []
cur = root
while stack or cur:
while cur:
stack.append(cur)
cur = cur.left
cur = stack.pop()
res.append(cur.val)
cur = cur.right
return res
复制代码
时间复杂度:O(n),n 为树的节点个数框架
空间复杂度:O(h),h 为树的高度机器学习
**帮助数千人成功上岸的《名企AI面试100题》书,电子版,限时免费送,须要的可评论区留言或私信我领取。ide
本书涵盖计算机语⾔基础、算法和⼤数据、机器学习、深度学习、应⽤⽅向 (CV、NLP、推荐 、⾦融风控)等五⼤章节,每⼀段代码、每⼀道题⽬的解析都通过了反复审查或review,但不排除可能仍有部分题⽬存在问题,如您发现,敬请经过官⽹/APP七月在线 - 国内领先的AI职业教育平台 (julyedu.com)对应的题⽬页⾯留⾔指出。oop
为了照顾⼤家去官⽹对应的题⽬页⾯参与讨论,故本⼿册各个章节的题⽬顺序和官⽹/APP题库内的题⽬展⽰顺序 保持⼀致。 只有100题,但实际笔试⾯试不⼀定局限于本100题,故更多烦请⼤家移步七⽉在线官⽹或 七⽉在线APP,上⾯还有近4000道名企AI笔试⾯试题等着⼤家,刷题愉快。post
优势:直方图算法—更高(效率)更快(速度)更低(内存占用)更泛化(分箱与以后的不精确分割也起到了必定防止过拟合的做用);
缺点:直方图较为粗糙,会损失必定精度,可是在gbm的框架下,基学习器的精度损失能够经过引入更多的tree来弥补。
总结以下:
Wide&Deep模型的主要思路正如其名,是由单层的Wide部分和多层的Deep部分组成的混合模型。其中,Wide部分的主要做用是让模型具备较强的“记忆能力”,“记忆能力”能够被理解为模型直接学习并利用历史数据中物品或者特征的“共现频率”的能力;Deep部分的主要做用是让模型具备“泛化能力”,“泛化能力”能够被理解为模型传递特征的相关性,以及发掘稀疏甚至从未出现过的稀有特征与最终标签相关性的能力;正是这样的结构特色,使模型兼具了逻辑回归和深度神经网络的优势-----可以快速处理并记忆大量历史行为特征,而且具备强大的表达能力。
正负样本不均衡问题一直伴随着算法模型存在,样本不均衡会致使:对比例大的样本形成过拟合,也就是说预测偏向样本数较多的分类。这样就会大大下降模型的泛化能力。每每accuracy(准确率)很高,但auc很低。
正负样本不均衡问题的解决办法有三类:
通常状况下在选择正负样本时会进行相关比例的控制,假设正样本的条数是N,则负样本的条数会控制在2N或者3N,即遵循1:2或者1:3的关系,固然具体的业务场景下要进行不一样的尝试和离线评估指标的对比。