代码如下
import pandas as pd
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
# 1、获取数据集
facebook = pd.read_csv("train.csv")
# 2.基本数据处理
# 2.1 缩小数据范围
facebook_data = facebook.query("x>2.0 & x<2.5 & y>2.0 & y<2.5").copy()
# 2.2 选择时间特征
# pd.to_datetime时间处理函数,unit="s"表示精确到秒
# pd.to_datetime() 转换为时间戳格式:用于列。
# pd.DatetimeIndex() 转换为时间戳格式:用于索引。
time = pd.to_datetime(facebook_data["time"], unit="s")
time = pd.DatetimeIndex(time)
facebook_data["day"] = time.day
facebook_data["hour"] = time.hour
facebook_data["weekday"] = time.weekday
# print(facebook_data)
# 2.3 去掉签到较少的地方
place_count = facebook_data.groupby("place_id").count() # 先按照place_id进行分组,再统计每个地方在数据中出现到次数
place_count =