Facebook位置预测

Facebook位置预测(机器学习)

一个简单的项目,就是一个预测一个人去哪里,其中是模拟了一个10*10公里的方位,一共100平方公里,给器对应的坐标,我们的任务就是根据用户位置,准备性和时间戳等预测用户的下一次签到的地方,我们通过KNN算法,通过目标值进行训练,然后预测出用户将要到达的位置,下面我们一起看看把:
特征值有下,x,y,accuracy(精确值),day,hour,weekday,我们看看代码:
代码解析:

#引用库文函数
import pandas as pd
from sklearn.model_selection import train_test_split,GridSearchCV#数据分割和
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
data=pd.read_csv('E:\\python基础语法\阶段5-人工智能经典算法编程\\阶段5-人工智能经典算法编程\\机器学习day05\\2.code\\2.code\\data\\FBlocation\\train.csv')

# print(data.shape)
#1.缩小数据范围
data=data.query('x<2.5 & x>2 & y<1.5 & y>1')
#2.转换时间
time_value=pd.to_datetime(data['time'],unit='s')
#把时间戳改成年月日
time=pd.DatetimeIndex(time_value)
# time.weekday
# time.month
# time.year
# time.hour
#添加列中的元素天,第几周,小时
data['day']=time.day
data['weekday']=time.weekday
data['hour']=time.hour
place_count=data.groupby('place_id').count()#把place_id进行统计把相同字符名称的放在一起
place_count=place_count[place_count['row_id']>3]#删除掉小于三次
#按照Place_count的列的名字进行安装
place_count=data[data['place_id'].isin(place_count.index)]
#确定目标值和特征值
x=data[['x','y','accuracy','day','hour','weekday']]
y=data['place_id']
3数据分割
x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=22,test_size=0.2)
std=StandardScaler()
#进行数据标准化
x_test=std.fit_transform(x_test)
x_train=std.fit_transform(x_train)
#进行机器学习了
estimator=KNeighborsClassifier()
param_id = {'n_neighbors':[1,3,5,7,9,10]}
estimator=GridSearchCV(estimator,param_grid=param_id,cv=5,n_jobs=-1)
estimator.fit(x_train,y_train)
score=estimator.score(x_test,y_test)
print(score)
输出结果:0.3606971153846154

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页