#這是我參與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的關係,固然具體的業務場景下要進行不一樣的嘗試和離線評估指標的對比。