11.項目十一:人工智能入門_第1頁
11.項目十一:人工智能入門_第2頁
11.項目十一:人工智能入門_第3頁
11.項目十一:人工智能入門_第4頁
11.項目十一:人工智能入門_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

敲開人工智能之門-電影分類了解機器學習是什么掌握一個機器學習算法電影分類電影名稱搞笑鏡頭親密鏡頭動作鏡頭電影類型電影11022喜劇片電影21112喜劇片電影3933喜劇片電影42101愛情片電影51112愛情片電影6393愛情片電影70210動作片電影82111動作片電影9339動作片電影10191??機器學習讓機器

去學習讓機器

去執(zhí)行人的學習&機器學習人的學習機器學習電影分類K近鄰算法K近鄰算法:“近朱者赤近墨者黑”K近鄰算法原理:將電影10的特征和所有電影的特征進行比較,選出前K部和電影10最相似的電影,哪種類型多,最后就預測它屬于哪種類型。如何計算電影的相似度歐氏距離(歐幾里得度量,euclidean

metric)計算電影1和電影10的距離(相似度)import

numpy

as

npmv1=np.array([10,2,2])#10

2

2分別表示電影1的三個特征mv10

=

np.array([1,

9,

1])diff=mv1-mv10

#差,對應xi-yidouble_diff

=

diff**2

#

差的平方,

對應

(xi

-

yi)的平方sum_of_double_diff

=

double_diff.sum()

#

差的平方和,

對應求和dist

=

np.sqrt(sum_of_double_diff)

#

計算平方根print(dist)#輸出電影1和電影10的歐式距離計算電影1和電影10的距離(相似度)電影1和電影10的距離:11.445523142259598電影名稱搞笑鏡頭親密鏡頭動作鏡頭電影類型距離電影11022喜劇片11.44552314電影21112喜劇片12.84523258電影3933喜劇片10.19803903電影42101愛情片1.414213562電影51112愛情片2.236067977電影6393愛情片2.828427125電影70210動作片11.44552314電影82111動作片12.84523258電影9339動作片10.19803903電影10191??電影10和所有電影的距離電影名稱搞笑鏡頭親密鏡頭動作鏡頭電影類型距離電影42101愛情片1.414213562電影51112愛情片2.236067977電影6393愛情片2.828427125電影3933喜劇片10.19803903電影9339動作片10.19803903電影11022喜劇片11.44552314電影70210動作片11.44552314電影21112喜劇片12.84523258電影82111動作片12.84523258電影10191??對距離排序取出距離最近的K個數(shù)據(jù)取出距離最近的K個數(shù)據(jù)計算概率愛情片的概率:喜劇片的概率:K近鄰算法實現(xiàn)過程計算測試對象到訓練集中每個對象的距離;按照距離進行升序排序;選擇距離最近的k個對象;統(tǒng)計這k個對象的類別頻率;k個對象里頻率最高的類別,即為測試對象的類別。計算距離import

numpy

as

np#定義電影1-10的特征向量movie1=np.array([10,2,2])movie2

=

np.array([11,

1,

2])movie3

=

np.array([9,

3,

3])movie4

=

np.array([2,

10,

1])movie5

=

np.array([1,

11,

2])movie6

=

np.array([3,

9,

3])movie7

=

np.array([0,

2,

10])movie8

=

np.array([2,

1,

11])movie9

=

np.array([3,

3,

9])movie10

=

np.array([1,

9,

1])movies

=[movie1,movie2,movie3,movie4,movie5,movie6,movie7,movie8,movie9]計算距離#9個數(shù)據(jù)集N

=

9distances

=

np.zeros((N))def

getDistance(vector1,vector2):diff

=

vector1

-

vector2

#

差double_diff

=

diff**2

#

差平方sum_of_double_diff=double_diff.sum()#差平方和dist=np.sqrt(sum_of_double_diff)return

dist#計算距離for

i

in

range(N):distances[i]

=

getDistance(movies[i],input_movie)排序&取前K個數(shù)據(jù)k

=

4#每個電影的類型標簽type_list=["喜劇片","喜劇片","喜劇片","愛情片","愛情片","愛情片","動作片","動作片","動作片"]#間接排序,獲取的是排序后列表的下標sorted_indexes=distances.argsort()match_count={}#統(tǒng)計每個種類出現(xiàn)的次數(shù)for

i

in

range(k):match_class

=

type_list[sorted_indexes

[i]]if

match_class

in

match_count.keys():match_count[match_class]

=

match_count[match_class]

+

1else:match_count[match_class]

=

0計算概率最大的類別,得出結(jié)論#對字典進行排序次數(shù)由高到低

#sorted可以對字典排序match_count_in_order

=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論