機器學習模型,能分清川菜和湘菜嗎?
一個地區的文化和當地的特色食物總是分不開關係,可以說小到村莊,大到國家,每個地方都有自己的「味道」。
如果你在加利福尼亞州北部,那麼你將品嘗到各種蔬菜,有深紫色的羽衣甘藍,還有明亮的粉紅色和黃色的甜菜。在韓國,誘人的紅色泡菜將會迎接你,而大海的氣味會吸引你注意附近蠕動的魷魚。印度的市場也許是最豐富多彩的,明亮的色調和幾十種香料的香氣:薑黃,八角茴香……
作為一名合格的「吃貨」,看到「米、海苔、三文魚」就想到日本壽司,看到「雞蛋、火腿、麵包、沙拉醬」就想到三明治……通過食材預測菜系,用 python 就可以做到!
可以用機器學習的方法搭建、訓練和測試模型,並通過評估矩陣來選擇最優模型,實現原材料與菜系的映射。為了實現預期的功能,我們需要進行以下三個步驟。
1.
載入並分析數據
2.
建立模型
3.
模型預測
載入並分析數據
以義大利菜係為例,我們準備好以下格式的樣例數據。其中「id」代表不同的菜肴種類,「cuisine」則代表菜系名稱。
拿到數據後,首先對數據進行提取,其中配方節點如下。其中包含了食譜 id,菜肴類型和成分列表的訓練集。
之後將 features 與 target 分別賦值到 train_ingredients 和 train_targets。通過統計分析等操作,可以計算出使用最頻繁的前 10 種原料,並將原料名和出現次數賦值到 sum_ingredients 字典中。通過樣例數據,還能計算出義大利菜系中使用最頻繁的前 10 種原料,並將原料名和出現次數賦值到 italian_ingredients 字典中。
得到的結果可以通過 matplotlib 進行可視化。通過數據分析,可以得出許多有意思的信息,比如,巴西菜用的最多的食材有洋蔥、橄欖油、檸檬等。而在中國,檸檬顯然不是家常飯的常客。我們用的最多的食材有醬、芝麻油、玉米澱粉等。小編猜測,老乾媽一定對中國排名第一的食材有巨大貢獻!
日本比較有特色的清酒和醬油也都榜上有名。
而在寒冷的俄羅斯,黃油則成為餐桌上必不可少的食材,成為戰鬥民族每天所需能量的重要來源。英國更不必多說,如果你熱愛黃油、奶油、土豆和牛奶,去英國就是了!
建立模型
建立模型的過程可能稍微有點複雜,主要分以下四步進行:
1、單詞清洗
2、特徵提取(使用TF_IDF)
3、數據分割與重排
調用 train_test_split 函數將訓練集劃分為新的訓練集和驗證集。
4、訓練模型
在訓練模型的過程中,需要嘗試不同的參數,挑選出泛化力最好的模型。通過訓練模型,可以計算得出驗證集上的得分。得分越高,說明分類準確度(正確分類的菜肴百分比)越高。這樣,一個優秀的模型就大功告成啦!
模型預測
在測試文件 test.json 中,配方的格式與 train.json 相同,只刪除了美食類型,因為它是我們要預測的目標變數。
總的來說,要實現通過食材預測菜系的過程並不複雜,但是如何完善代碼、優化模型,使分類體系和匹配程度更高,才是我們要完成的關鍵目標。如果不能做到數據的有效清洗和分類,就會出現很多法國菜被誤分為義大利菜這樣的情況。
至於能不能分清川菜和湘菜……自己來試一試吧!
這個項目其實來自
優達學城 Udacity
的「機器學習工程師」納米學位。
(該項目現提供超值限量試學班,詳情見文末)
優達學城 Udacity 由
Google 無人車之父
Sebastion Thrun 創立,與 Google、Facebook、亞馬遜等名企聯合打造了一系列前沿技術課程,旨在讓每個人都能用遠低於線下教育的成本學習矽谷前沿技術,最終成為有能力通過技術改變世界的搶手人才。2017 年 8 月,騰訊宣布將 Udacity 納米學位項目作為內部員工學習內容。
與國內其他平台相比,Udacity 的一大優勢是來自矽谷的獨家特色
實戰項目
。僅靠看視頻或者啃厚厚的教材很難零基礎入門人工智慧領域。學習者也很難在動輒幾十 G+ 的免費視頻教程中,高效快速地篩選出真正有用的東西。優達學城(Udacity)的項目難度深入淺出,能夠讓學習者快速將所學運用到實際生活,也能夠直觀的看到學習成果。下面的部分項目成果示例來自「機器學習工程師」和「深度學習」納米學位
的正式課程:項目示例 1
訓練機器人走迷宮
在這個項目中,你會需要實現一個 Q-learning演算法來解決走迷宮問題。同時你有機會將你的演算法應用在股市中,讓機器學習出高收益策略。
(來自「機器學習」納米學位)
項目示例 2
貓狗圖像識別
使用深度學習方法識別圖片中是貓還是狗。
(來自「機器學習」納米學位畢業項目)
實戰項目示例 3
訓練四軸飛行器學會飛行
設計一個深度強化學習系統,來控制四軸飛行器的一系列飛行項目,包括起飛、盤旋和降落等。你將通過構建你自己的懲罰函數、強化學習模型、深度學習隱藏層來幫助你的四軸飛行器了解他的每一個動作的優劣。你的四軸飛行器將從一系列動作狀態中,選擇最優的策略來平穩起飛和降落。
(來自「深度學習」納米學位項目)
實戰項目示例 3
風格遷移
深度學習模型可以用來完成「風格遷移」項目,你可以按照著名的畫作重新創建風格一樣的圖片!神經網路會學習這些畫作採用的技巧,並學會如何自己應用這些繪畫技巧。
(來自「深度學習」練習項目)
除此之外,你將跟隨來自矽谷的行業專家系統學習,深入掌握人工智慧領域知識。實戰項目經驗均可寫入簡歷,為求職面試加分!
Udacity 還特別開啟
【7 天超值試學班】
,為保證輔導質量,試學名額有限,今天開始搶完為止。本期試學班能夠提前體驗的項目有:
「
猜猜這道菜來自哪裡」
使用分類模型通過原料的不同組合預測所屬的世界菜系。
來自「機器學習工程師」7天試學班
「你拍我猜」
利用神經網路來分類照片中是狗狗,是貓貓,還是人。
來自「深度學習」7天試學班
文末關注 Udacity 官方服務號,即可自動獲得兩門課程完整大綱,還能獲得限量的超值試學入口。
如果你也在尋求轉行機會,或渴望突破薪資天花板,抓住人工智慧人才紅利,但又不確定自己是否真的適合、能不能學完,建議加入 7 天試學,讓專業導師手把手帶你完成項目!
長按識別二維碼
了解試學班
Udacity 【機器學習工程師】與【深度學習】納米學位試學班開放
限量體驗席位,報滿即止。
關注 Udacity 官方服務號,即可自動獲得完整課程大綱,以及限量試學入口,先搶先得。
點擊閱讀原文,添加學習規劃師,獲得「選課指南」一份,了解適合自己的課程
TAG:ImportNew |