# coding=utf-8
# @Time : 2019/12/7 15:46
# @Author : Z
# @Email : S
# @File : KNNtest.py
import numpy as np
import pandas as pd
from sklearn import model_selection as ms
from math import sqrt
from sklearn.metrics import mean_squared_error
from sklearn.metrics import median_absolute_error
import warnings
#采用 KNN 算法实现一个简单的推荐系统
warnings.filterwarnings("ignore")
#训练集和测试集的划分标准
def train_test_split(fileName,type=1):
header=['user_id','item_id','rating','timestamp']
if(type==1):
#sep:指定分隔符
#names:指定列名
df=pd.read_csv(fileName,sep='\t',names=header)
else:
#engine:选择读取的引擎
df=pd.read_csv(fileName,sep='::',names=header,engine='python')
#unique()为去重.shape[0]行个数
#就是总共有多少个user_id
n_users=df.user_id.unique().shape[0]
#取出最大的user_id
users=df.user_id.max()
# 就是总共有多少个item_id
n_items=df.item_id.unique().shape[0]
# 取出最大的item_id
items=df.item_id.max()
print('Number of users =' + str(n_users) + ' | Number of movies = ' + str(n_items))
print('The biggest ID of users = ' + str(users) + ' | The biggest ID of movies = ' + str(items))
#test_size:样本占比
train_data,
采用 KNN 算法实现一个简单的推荐系统
最新推荐文章于 2023-03-27 17:29:30 发布
本文详细介绍了如何利用K近邻算法(KNN)构建一个简单的推荐系统。首先,我们探讨了KNN的基本原理,然后阐述了在推荐系统中选择特征的重要性。接着,通过实例展示了数据预处理、模型训练和预测过程。最后,我们讨论了KNN在推荐系统中的优缺点以及可能的改进策略。
摘要由CSDN通过智能技术生成