15.小丁是一位電影發(fā)燒友,尤其鐘愛喜劇片和動作片。他設(shè)計(jì)了一個(gè)程序,根據(jù)某部電影的鏡頭數(shù)據(jù)預(yù)測出類型,這類操作可利用K-近鄰分類算法來實(shí)現(xiàn),該算法核心思想是:一個(gè)樣本在特征空間中的k個(gè)最相鄰的樣本中的大多數(shù)屬于某--類別,則該樣本也屬于這個(gè)類別。小丁讀取“movie.csv”數(shù)據(jù)集文件如圖a所示,是一些電影的搞笑鏡頭和打斗鏡頭數(shù)目及類型。
現(xiàn)要實(shí)現(xiàn)如下功能:輸入某部電影的搞笑鏡頭和打斗鏡頭數(shù)目后,輸出可能的類型,如圖c所示,并繪制該數(shù)據(jù)集文件和輸入的電影在平面坐標(biāo)系的分布特點(diǎn)圖如圖b所示。
例如:輸入搞笑鏡頭40和打斗鏡頭40,判斷屬于哪類,通過如下步驟實(shí)現(xiàn):
①計(jì)算點(diǎn)(40,40)和其余所有點(diǎn)的距離(兩點(diǎn)間的距離計(jì)算公式:d
12=
);
②將所有樣本按照距離升序排序:
③假設(shè)k=3,取前k個(gè)距離的樣本;
④統(tǒng)計(jì)出在前k個(gè)距離中,出現(xiàn)頻次最多的類別,則(40,40)就屬于該類別,可能是喜劇片。
(1)若輸入的搞笑鏡頭為20,輸入的打斗鏡頭為80,則該影片可能是
(選填:喜劇片/動作片)。
(2)實(shí)現(xiàn)上述功能的python 代碼如下,請?jiān)跈M線處填入合適的代碼。