当前位置: 首页 > news >正文

机器学习基础之《分类算法(4)—案例:预测facebook签到位置》

一、背景

1、说明

2、数据集
row_id:签到行为的编码
x y:坐标系,人所在的位置
accuracy:定位的准确率
time:时间戳
place_id:预测用户将要签到的位置

3、数据集下载
https://www.kaggle.com/navoshta/grid-knn/data
国内下不了,无法收验证码,还是在csdn用积分下一个别人上传的

二、流程分析

1、获取数据

2、数据处理
目的:
    特征值
    目标值
    a.缩小数据范围
      根据坐标缩小范围
      2 < x < 2.5
      1 < y < 1.5
    b.时间戳
      time -> 年月日时分秒
      早上签到,可能是公园、通勤的路上
      周六签到,可能在商场、在家睡觉
    c.过滤签到次数少的地点
    d.数据集划分

3、特征工程
标准化

4、KNN算法预估器流程

5、模型选择与调优

6、模型评估

三、代码

1、day02_facebook_demo

import pandas as pd# 1、获取数据
data = pd.read_csv("./FBlocation/train.csv")data.head()# 2、基本的数据处理
# 1)缩小数据范围
data = data.query("x < 2.5 & x > 2 & y < 1.5 & y > 1")data# 2)处理时间特征
time_value = pd.to_datetime(data["time"], unit="s")time_value.valuesdate = pd.DatetimeIndex(time_value)data["day"] = date.daydata["weekday"] = date.weekdaydata["hour"] = date.hourdata# 3、过滤掉签到次数少的地点
place_count = data.groupby("place_id").count()["row_id"]place_count[place_count > 3].head()data_final = data[data["place_id"].isin(place_count[place_count > 3].index.values)]data_final.head()# 筛选特征值和目标值
# 特征值
x = data_final[["x", "y", "accuracy", "day", "weekday", "hour"]]
# 目标值
y = data_final["place_id"]x.head()y.head()# 数据集划分
from sklearn.model_selection import train_test_splitx_train, x_test, y_train, y_test = train_test_split(x, y)from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV# 3、特征工程:标准化
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
# 用训练集的平均值和标准差对测试集的数据来标准化
# 这里测试集和训练集要有一样的平均值和标准差,而fit的工作就是计算平均值和标准差,所以train的那一步用fit计算过了,到了test这就不需要再算一遍自己的了,直接用train的就可以
x_test = transfer.transform(x_test)
# 4、KNN算法预估器
estimator = KNeighborsClassifier()
# 加入网格搜索和交叉验证
# 参数准备
param_dict = {"n_neighbors": [1, 3, 5, 7, 9, 11]}
estimator = GridSearchCV(estimator, param_grid=param_dict, cv=10)
estimator.fit(x_train, y_train)
# 5、模型评估
# 方法1:直接比对真实值和预测值
y_predict = estimator.predict(x_test)
print("y_predict:\n", y_predict)
print("直接比对真实值和预测值:\n", y_test == y_predict)
# 方法2:计算准确率
score = estimator.score(x_test, y_test)
print("准确率为:\n", score)
#最佳参数:best_params_
print("最佳参数:\n", estimator.best_params_)
#最佳结果:best_score_
print("最佳结果:\n", estimator.best_score_)
#最佳估计器:best_estimator_
print("最佳估计器:\n", estimator.best_estimator_)
#交叉验证结果:cv_results_
print("交叉验证结果:\n", estimator.cv_results_)

2、运行结果

相关文章:

机器学习基础之《分类算法(4)—案例:预测facebook签到位置》

一、背景 1、说明 2、数据集 row_id&#xff1a;签到行为的编码 x y&#xff1a;坐标系&#xff0c;人所在的位置 accuracy&#xff1a;定位的准确率 time&#xff1a;时间戳 place_id&#xff1a;预测用户将要签到的位置 3、数据集下载 https://www.kaggle.com/navoshta/gr…...

【Java】反射 之 调用方法

调用方法 我们已经能通过Class实例获取所有Field对象&#xff0c;同样的&#xff0c;可以通过Class实例获取所有Method信息。Class类提供了以下几个方法来获取Method&#xff1a; Method getMethod(name, Class...)&#xff1a;获取某个public的Method&#xff08;包括父类&a…...

Java——单例设计模式

什么是设计模式&#xff1f; 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式免去我们自己再思考和摸索。就像是经典的棋谱&#xff0c;不同的棋局&#xff0c;我们用不同的棋谱、“套路”。 经典的设计模式共有23种。…...

Java实现excel表数据的批量存储(结合easyexcel插件)

场景&#xff1a;加哥最近在做项目时&#xff0c;苦于系统自身并未提供数据批量导入的功能还不能自行添加上该功能&#xff0c;且自身不想手动一条一条将数据录入系统。随后&#xff0c;自己使用JDBC连接数据库、使用EasyExcel插件读取表格并将数据按照业务逻辑批量插入数据库完…...

Config:客户端连接服务器访问远程

springcloud-config: springcloud-config push pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocatio…...

【KMP算法-代码随想录】

目录 1.什么是KMP2.什么是next数组3.什么是前缀表&#xff08;1&#xff09;前后缀含义&#xff08;2&#xff09;最长公共前后缀&#xff08;3&#xff09;前缀表的必要性 4.计算前缀表5.前缀表与next数组&#xff08;1&#xff09;使用next数组来匹配 6.构造next数组&#xf…...

【手写promise——基本功能、链式调用、promise.all、promise.race】

文章目录 前言一、前置知识二、实现基本功能二、实现链式调用三、实现Promise.all四、实现Promise.race总结 前言 关于动机&#xff0c;无论是在工作还是面试中&#xff0c;都会遇到Promise的相关使用和原理&#xff0c;手写Promise也有助于学习设计模式以及代码设计。 本文主…...

计算机网络-笔记-第二章-物理层

目录 二、第二章——物理层 1、物理层的基本概念 2、物理层下面的传输媒体 &#xff08;1&#xff09;光纤、同轴电缆、双绞线、电力线【导引型】 &#xff08;2&#xff09;无线电波、微波、红外线、可见光【非导引型】 &#xff08;3&#xff09;无线电【频谱的使用】 …...

前端开发中的单伪标签清除和双伪标签清除

引言 在前端开发中&#xff0c;我们经常会遇到一些样式上的问题&#xff0c;其中之一就是伪元素造成的布局问题。为了解决这个问题&#xff0c;我们可以使用伪标签清除技术。本篇博客将介绍单伪标签清除和双伪标签清除的概念、用法和示例代码&#xff0c;并详细解释它们的原理…...

云计算中的数据安全与隐私保护策略

文章目录 1. 云计算中的数据安全挑战1.1 数据泄露和数据风险1.2 多租户环境下的隔离问题 2. 隐私保护策略2.1 数据加密2.2 访问控制和身份验证 3. 应对方法与技术3.1 零知识证明&#xff08;Zero-Knowledge Proofs&#xff09;3.2 同态加密&#xff08;Homomorphic Encryption&…...

MacOS软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 MacOS是一种由苹果公司开发的操作系统&#xff0c;专门用于苹果公司的计算机硬件。它被广泛用于创意和专业应用程序&#xff0c;如图像设计、音频和视频编辑等。以下是关于MacOS的详细介绍。 1、MacOS的历史和演变 MacOS最初于…...

【linux进程概念】

目录&#xff1a; 冯诺依曼体系结构操作系统进程 基本概念描述进程-PCBtask_struct-PCB的一种task_ struct内容分类组织进程查看进程 fork()函数 冯诺依曼体系结构 我们常见的计算机&#xff0c;如笔记本。我们不常见的计算机&#xff0c;如服务器&#xff0c;大部分都遵守冯诺…...

直击成都国际车展:远航汽车多款车型登陆车展,打造完美驾乘体验

随着市场渗透率日益高涨&#xff0c;新能源汽车成为今年成都国际车展的关注焦点。在本届车展上&#xff0c;新能源品牌占比再创新高&#xff0c;覆盖两个展馆&#xff0c;印证了当下新能源汽车市场的火爆。作为大运集团重磅打造的高端品牌&#xff0c;远航汽车深度洞察高端智能…...

android nv21 转 yuv420sp

上面两个函数的目标都是将NV21格式的数据转换为YUV420P格式&#xff0c;但是它们在处理U和V分量的方式上有所不同。 在第一个函数NV21toYUV420P_1中&#xff0c;U和V分量的处理方式是这样的&#xff1a;对于U分量&#xff0c;它从NV21数据的Y分量之后的每个奇数位置取数据&…...

使用Nacos与Spring Boot实现配置管理

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…...

初识【类和对象】

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 5.类的作用域 6.类的实例化 7.类的对象大小的计算 8.类成员函数的this指针 1.面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的…...

软考高级系统架构设计师系列论文八十六:论企业应用集成

软考高级系统架构设计师系列论文八十六:论企业应用集成 一、企业应用集成相关知识点二、摘要三、正文四、总结一、企业应用集成相关知识点 软考高级系统架构设计师系列之:企业集成平台技术的应用和架构设计二、摘要 2022年10月,我参加了***车站综合信息平台项目的开发,承…...

HarmonyOS ArkUI 属性动画入门详解

HarmonyOS ArkUI 属性动画入门详解 前言属性动画是什么&#xff1f;我们借助官方的话来说&#xff0c;我们自己简单归纳下 参数解释举个例子旋转动画 位移动画组合动画总结 前言 鸿蒙OS最近吹的很凶&#xff0c;赶紧卷一下。学习过程中发现很多人吐槽官方属性动画这一章比较敷…...

基于XGBoots预测A股大盘《上证指数》(代码+数据+一键可运行)

对AI炒股感兴趣的小伙伴可加WX&#xff1a;caihaihua057200&#xff08;备注&#xff1a;学校/公司名字方向&#xff09; 另外我还有些AI的应用可以一起研究&#xff08;我一直开源代码&#xff09; 1、引言 在这期内容中&#xff0c;我们回到AI预测股票&#xff0c;转而探索…...

5G NR:PRACH频域资源

PRACH在频域位置由IE RACH-ConfigGeneric中参数msg1-FrequencyStart和msg1-FDM所指示&#xff0c;其中&#xff0c; msg1-FrequencyStart确定PRACH occasion 0的RB其实位置相对于上行公共BWP的频域其实位置(即BWP 0)的偏移&#xff0c;即确定PRACH的频域起始位置msg1-FDM的取值…...

Navicat重置工具:Mac版Navicat无限试用终极指南

Navicat重置工具&#xff1a;Mac版Navicat无限试用终极指南 【免费下载链接】navicat_reset_mac navicat16 mac版无限重置试用期脚本 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 你是否正在为Navicat Premium的14天试用期到期而烦恼&#xff1f;作…...

springboot-vue基于web的天气预报气候研究系统

目录系统架构设计技术栈选择功能模块划分数据库设计接口设计规范前端实现要点后端实现要点部署方案扩展性考虑测试计划项目时间规划注意事项项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作系统架构设计 采用前后端分离架构&am…...

3大维度破解C盘空间困局:Windows Cleaner让系统重获新生的开源方案

3大维度破解C盘空间困局&#xff1a;Windows Cleaner让系统重获新生的开源方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 当你的电脑频繁弹出"磁盘空间…...

Video2X:用AI突破视频质量瓶颈的全栈解决方案

Video2X&#xff1a;用AI突破视频质量瓶颈的全栈解决方案 【免费下载链接】video2x A lossless video/GIF/image upscaler achieved with waifu2x, Anime4K, SRMD and RealSR. Started in Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video…...

OpenClaw知识库搭建:Qwen3-32B私有镜像消化PDF手册

OpenClaw知识库搭建&#xff1a;Qwen3-32B私有镜像消化PDF手册 1. 为什么需要本地化知识库 去年我接手了一个工业设备维护项目&#xff0c;客户提供了37份PDF格式的技术手册&#xff0c;总页数超过2000页。当我需要查询某个传感器的安装参数时&#xff0c;不得不使用CtrlF在所…...

手把手教学:如何在本地运行ChatGLM3-6B对话模型

手把手教学&#xff1a;如何在本地运行ChatGLM3-6B对话模型 1. 项目简介 你是否曾经遇到过这样的情况&#xff1a;想用AI助手帮忙写代码、分析文档或者只是聊聊天&#xff0c;但云端服务要么响应慢&#xff0c;要么担心隐私泄露&#xff1f;今天我要介绍的ChatGLM3-6B本地部署…...

STEP3-VL-10B WebUI教程:自定义快捷提示词模板+一键插入常用指令

STEP3-VL-10B WebUI教程&#xff1a;自定义快捷提示词模板一键插入常用指令 你是不是每次用多模态AI模型时&#xff0c;都要重复输入那些固定的指令&#xff1f;比如“请详细描述这张图片”、“帮我分析这个图表的数据”、“用中文回答”……一遍又一遍地打字&#xff0c;不仅…...

OpenClaw故障自愈方案:百川2-13B模型异常日志分析与重试机制

OpenClaw故障自愈方案&#xff1a;百川2-13B模型异常日志分析与重试机制 1. 问题背景与需求场景 上周我在用OpenClaw对接百川2-13B模型处理夜间自动化任务时&#xff0c;遇到了一个典型问题&#xff1a;凌晨3点突然收到飞书告警&#xff0c;显示"模型响应超时"。当…...

Mac Mouse Fix终极指南:重新定义macOS鼠标交互体验的开源解决方案

Mac Mouse Fix终极指南&#xff1a;重新定义macOS鼠标交互体验的开源解决方案 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 在macOS生态系统中&#xff0…...

游戏开发必备:Unity中三维坐标系转换的5种实战技巧(附代码)

Unity三维坐标系转换实战指南&#xff1a;从原理到代码实现 在游戏开发中&#xff0c;三维物体的旋转和坐标系转换是构建沉浸式体验的核心技术。无论是角色转向、镜头跟随还是物理模拟&#xff0c;开发者都需要精准控制物体在三维空间中的方位。Unity作为主流游戏引擎&#xff…...