歡迎光臨
每天分享高質量文章

機器學習模型,能分清川菜和湘菜嗎?

一個地區的文化和當地的特色食物總是分不開關係,可以說小到村莊,大到國家,每個地方都有自己的“味道”。



如果你在加利福尼亞州北部,那麼你將品嘗到各種蔬菜,有深紫色的羽衣甘藍,還有明亮的粉紅色和黃色的甜菜。在韓國,誘人的紅色泡菜將會迎接你,而大海的氣味會吸引你註意附近蠕動的魷魚。印度的市場也許是最豐富多彩的,明亮的色調和幾十種香料的香氣:薑黃,八角茴香……


作為一名合格的“吃貨”,看到“米、海苔、三文魚”就想到日本壽司,看到“雞蛋、火腿、麵包、沙拉醬”就想到三明治……透過食材預測菜系,用 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 官方服務號,即可自動獲得完整課程大綱,以及限量試學入口,先搶先得。

點選閱讀原文,新增學習規劃師,獲得「選課指南」一份,瞭解適合自己的課程

贊(0)

分享創造快樂