分类过程
- 数据准备阶段
- 读取数据
- 特征抽取
- 数据切割
- 数据的训练
- 数据的测试
- 数据的模拟
sklearn调用API进行电影分类
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
# 1.数据准备阶段
# 1.1 读取数据
m = pd.read_excel('tests.xlsx',sheet_name=0)
# 1.2.特征抽取 Feature 特征部分 Labels(target) 目标
# Feature 必须是一个二维的数据类型 Label至少是一维的
fea = m.iloc[:,1:-1]
lab = m.iloc[:,-1]
# 1.3.数据切割 训练集 测试集
# int 测试数据有几条
# float 测试数据的比例
x_train,x_test,y_train,y_test = train_test_split(fea,lab,test_size=.3)
# 2.数据的训练
# n_neighbors = k 找几个距离自己最短的邻居
# p = 2 使用欧式距离作为度量
# n_jobs 开启几个进程
knn = KNeighborsClassifier(n_neighbors=5,p=2,n_jobs=1)
# 进行训练
knn.fit(x_train,y_train)
# 进行评估 观测模型的准确率
knn.score(x_train,y_train)
# 3.数据的测试
knn.score(x_test,y_test)
# 4.模型的模拟
# 'hi bye mama'
new = np.array([(3,17)])
# 预测
knn.predict(new)
输出:
array([‘爱情片’], dtype=object)
sns.scatterplot(x='武打镜头',y='接吻镜头',data = m,hue='分类情况')
sns.scatterplot(x=new[:,0],y=new[:,1])