吃飯的時候會見到很多奇怪的菜名,很多店常常會取一些奇怪的名字來吸引眼球,吃飯的時候基本靠猜,或者……通過食材預估一下彩色和口味是否符合自己的要求。其實通過食材預測菜系,用 python 也可以做到!
可以用機器學習的方法搭建、訓練和測試模型,并通過評估矩陣來選擇最優(yōu)模型,實現(xiàn)原材料與菜系的映射。為了實現(xiàn)預期的功能,我們需要進行以下三個步驟。
1.加載并分析數(shù)據(jù)
2.建立模型
3.模型預測
加載并分析數(shù)據(jù)
以意大利菜系為例,我們準備好以下格式的樣例數(shù)據(jù)。其中“id”代表不同的菜肴種類,“cuisine”則代表菜系名稱。
拿到數(shù)據(jù)后,首先對數(shù)據(jù)進行提取,其中配方節(jié)點如下。其中包含了食譜 id,菜肴類型和成分列表的訓練集。
之后將 features 與 target 分別賦值到 train_ingredients 和 train_targets。通過統(tǒng)計分析等操作,可以計算出使用最頻繁的前 10 種原料,并將原料名和出現(xiàn)次數(shù)賦值到 sum_ingredients 字典中。通過樣例數(shù)據(jù),還能計算出意大利菜系中使用最頻繁的前 10 種原料,并將原料名和出現(xiàn)次數(shù)賦值到 italian_ingredients 字典中。
得到的結(jié)果可以通過 matplotlib 進行可視化。通過數(shù)據(jù)分析,可以得出許多有意思的信息,比如,巴西菜用的最多的食材有洋蔥、橄欖油、檸檬等。而在中國,檸檬顯然不是家常飯的常客。我們用的最多的食材有醬、芝麻油、玉米淀粉等。小編猜測,老干媽一定對中國排名第一的食材有巨大貢獻!
日本比較有特色的清酒和醬油也都榜上有名。而在寒冷的俄羅斯,黃油則成為餐桌上必不可少的食材,成為戰(zhàn)斗民族每天所需能量的重要來源。英國更不必多說,如果你熱愛黃油、奶油、土豆和牛奶,去英國就是了!
建立模型
建立模型的過程可能稍微有點復雜,主要分以下四步進行:
1、單詞清洗
2、特征提取(使用TF_IDF)
3、數(shù)據(jù)分割與重排
調(diào)用 train_test_split 函數(shù)將訓練集劃分為新的訓練集和驗證集。
4、訓練模型
在訓練模型的過程中,需要嘗試不同的參數(shù),挑選出泛化力最好的模型。通過訓練模型,可以計算得出驗證集上的得分。得分越高,說明分類準確度(正確分類的菜肴百分比)越高。這樣,一個優(yōu)秀的模型就大功告成啦!
模型預測
在測試文件 test.json 中,配方的格式與 train.json 相同,只刪除了美食類型,因為它是我們要預測的目標變量。
總的來說,要實現(xiàn)通過食材預測菜系的過程并不復雜,但是如何完善代碼、優(yōu)化模型,使分類體系和匹配程度更高,才是我們要完成的關(guān)鍵目標。如果不能做到數(shù)據(jù)的有效清洗和分類,就會出現(xiàn)很多法國菜被誤分為意大利菜這樣的情況。
至于能不能分清川菜和湘菜……可以自己來試一試!這個項目其實來自優(yōu)達學城 Udacity 的「機器學習工程師」納米學位。
優(yōu)達學城 Udacity由Google 無人車之父Sebastion Thrun創(chuàng)立,與Google、Facebook、亞馬遜等名企聯(lián)合打造了一系列前沿技術(shù)課程,旨在讓每個人都能用遠低于線下教育的成本學習硅谷前沿技術(shù),最終成為有能力通過技術(shù)改變世界的搶手人才。2017 年8 月,騰訊宣布將 Udacity 納米學位項目作為內(nèi)部員工學習內(nèi)容。
與國內(nèi)其他平臺相比,Udacity 的一大優(yōu)勢是來自硅谷的獨家特色實戰(zhàn)項目。項目難度深入淺出,能夠讓學習者快速將所學運用到實際生活,并直觀看到學習成果。下面的部分項目成果示例來自「機器學習工程師」和「深度學習」納米學位的正式課程:
項目示例 1訓練機器人走迷宮
通過實現(xiàn) Q-learning 算法解決走迷宮問題。同時你有機會將你的算法應用在股市中,讓機器學習出高收益策略。
項目示例 2貓狗圖像識別
使用深度學習方法識別圖片中是貓還是狗。
實戰(zhàn)項目示例 3訓練四軸飛行器學會飛行
設計一個深度強化學習系統(tǒng),構(gòu)建懲罰函數(shù)、強化學習模型、深度學習隱藏層幫助四軸飛行器了解每一個動作的優(yōu)劣。你的四軸飛行器將從一系列動作狀態(tài)中,選擇最優(yōu)的策略來平穩(wěn)起飛和降落。
實戰(zhàn)項目示例 3風格遷移
深度學習模型可以用來完成「風格遷移」項目。神經(jīng)網(wǎng)絡會學習這些畫作采用的技巧,并學會如何自己應用這些繪畫技巧。
-
機器學習
+關(guān)注
關(guān)注
66文章
8425瀏覽量
132775 -
python
+關(guān)注
關(guān)注
56文章
4800瀏覽量
84820
原文標題:機器學習模型,能分清川菜和湘菜嗎?
文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論