KNN 알고리즘 분류 영화 유형

2865 단어
수요: 어떻게 KNN 알고리즘 으로 영화 가 액 션 영화 인지 멜 로 영화 인지 분류 합 니까?
분류 기준: 영화 에서 의 싸움 장면 과 키스 장면 의 횟수 를 통계 한다.
'''

KNN :
1.
2. ( )
3. K
4. K
5.


KNN k ,


'''

KNN :
1.
2. ( )
3. K
4. K
5.


KNN k ,



'''
import numpy as np

#
def creatDataSet():
#
group = np.array([[3,10,23,114],
[2,5,23,160],
[1,9,8,154],
[101,10,12,11],
[99,5,7,8,],
[98,2,10,5],
[4,99,14,10],
[6,100,11,23],
[9,100,1,1],
[1,4,99,3],
[4,5,78,6],
[1,4,88,9]])
labels = [" "," "," "," "," "," "," "," "," "," "," "," "]
return group, labels

def classify(input, dataSet, labels, k):
#
dataSize = dataSet.shape[0]
print(dataSet.shape[0])
#
# nump.tile()
print(input)
kdiff = np.tile(input, (dataSize, 1)) - dataSet
sqdiff = kdiff**2
# ,
sqnumdiff = np.sum(sqdiff, axis=1)
dist = sqnumdiff**0.5
#
soreDistIndex = np.argsort(dist)
classCount = {}
for i in range(k):
print(soreDistIndex[i])
voteLabel = labels[soreDistIndex[i]]
print(voteLabel)
# K
classCount[voteLabel] = classCount.get(voteLabel, 0) + 1
#
maxCount = 0
for key, value in classCount.items():
if value > maxCount:
maxCount = value
classes = key

return classes

if __name__ == "__main__":
dataSet, labels = creatDataSet()
#
input = np.array([9,90,500,4])
k = 3
output = classify(input, dataSet, labels, k)
print(" :", input, " :", output)



다음으로 전송:https://www.cnblogs.com/lcl15/p/8126349.html

좋은 웹페이지 즐겨찾기