一、 数据
电影名称 打斗镜头 牵手镜头 类别
黄飞红 10 2 动作
泰坦尼克号 3 9 爱情
钢铁侠 12 3 动作
后会有期 4 10 爱情
星语心愿 1 9 爱情
武当山 9 2 动作
加勒比海海盗 11 3 动作
天下无贼 13 4 动作
流星花园 2 7 爱情
天之娇子 3 11 爱情
天线宝宝 13 2 动作
二、代码
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier
matplotlib.use('TkAgg')
data = pd.read_excel('movies.xls')
print(data)
# 数据预处理
y = data["类别"]
y = y.map({"动作": 0, "爱情": 1})
X = data[["打斗镜头", "牵手镜头"]]
# 数据集的拆分
X_train = X.iloc[:8] # 训练集
y_train = y.iloc[:8] # 训练集标签(结果)
X_test = X.iloc[8:] # 测试集
y_test = y.iloc[8:] # 测试集标签(结果)
# print(X_test)
# 构建模型
knn1 = KNeighborsClassifier(n_neighbors=3)
knn2 = KNeighborsClassifier(n_neighbors=7)
# 用训练样本集 训练模型
knn1.fit(X_train, y_train)
knn2.fit(X_train, y_train)
# 用测试样本集 测试模型 得到结果
y1_ = knn1.predict(X_test)
y2_ = knn2.predict(X_test)
#求出准确率
acc1 = (y1_ == y_test).sum() / y1_.size
acc2 =(y2_ == y_test).sum() / y1_.size
print(acc1)
print(acc2)