XGBoost 实验手册
机器学习
实验
You can click here to get the English version.
实验目的
- 掌握Boosting方法的原理和特性
- 学会调用XGBoost的封装接口解决二分类问题
- 理解XGBoost的参数,并自行调整参数进行训练
数据集
数据集下载链接:
* 训练集: TrainingData.csv.zip
* 测试集: ValidationData.csv.zip
数据集说明
UJIIndoorLoc 数据库涵盖了 Universitat Jaume I 的4层高的三座建筑。该数据集是在2013年通过20多个不同的用户和25个Android设备创建的,包含19937个培训/参考记录和1111个验证/测试记录。
- 数据集的529属性中包含WiFi指纹、拍摄的坐标以及其他有用信息。每个WiFi指纹可以由检测到的无线接入点 (WAP) 和相应的接收信号强度强度 (RSSI) 来表征。强度值表示为负整数值,范围-104dBm (极差信号) 至0dbM。正值100用于表示何时未检测到WAP。
- 在数据库创建期间,检测到520个不同的WAP。因此,WiFi指纹由520个强度值组成。
- 该数据集提供坐标 (纬度,经度,楼层) 和建筑物ID作为要预测的属性,并且记录了捕获的特定空间(办公室,实验室等)和相对位置(空间内/外)。外面意味着捕获是在空间门前拍摄的。
- 数据集还记录了关于谁(用户),如何(android设备和版本)以及何时(时间戳)WiFi捕获的信息。
具体属性:
- 属性001到520 (WAP001-WAP520): 对应WAP的强度值。从-104到0的负整数值和+100(如果未检测到对应的WAP,则使用正值100)
- 属性521(Longitude): 经度。负实数值从-7695.9387549299299000到-7299.786516730871000
- 属性522(Latitude): 纬度。正实数值从4864745.7450159714到4865017.3646842018。
- 属性523(Floor): 建筑物内的楼层高度。整数值从0到4。
- 属性524(BuildingID): 用于标识建筑物的ID。在三个不同的建筑物中采取了措施。分类整数值从0到2。
- 属性525(SpaceID): 内部ID号,用于标识捕获的空间(办公室,走廊,教室)。分类整数值。
- 属性526(RelativePosition): 相对于空间的相对位置(1 - 内部,2 - 门前的外部)。分类整数值。
- 属性527(UserID): 用户标识符。分类整数值。
- 属性528(PhoneID): Android设备标识符。分类整数值。
- 属性529(Timestamp): UNIX捕获的时间。整数值。
实验环境
实验形式
个人独立完成 (额外实验,不计入总成绩)
实验步骤
安装并调用XGBoost库
- pip 安装:
- conda 安装:
- (linux) conda install xgboost
算法实验步骤
- 读取实验数据,使用
pandas
或其他库读取,
- 将
BuildingID
和 Floor
合成一个唯一的属性,作为预测的目标,
- 对属性 001~520 (WAP001-WAP520) 进行合适的处理,并转换成xgboost可以接受的数据,作为数据输入,
- 为 xgboost 接口设置合理的参数,
- 调用 xgboost 库的 api 进行训练,
- 预测结果,要求实验最终的准确率在90%以上。
评分标准
评分项 |
占⽐ |
说明 |
出勤 |
40% |
特殊情况可向学院请假 |
代码有效 |
20% |
代码有效是指代码中是否存在语法错误 |
实验报告 |
30% |
是否认真按照实验模板填写 |
代码规范 |
10% |
主要考核代码变量命名是否规范 |
提交方式
提交流程
- 访问222.201.187.50:7001
- 点击对应的提交入口
- 填写自己的姓名、学号,上传pdf格式的报告和zip格式的代码压缩包
注意事项
- 实验报告和代码可以多次上传,多次上传会覆盖之前提交的文件。
- 上传之后可以刷新页面,在下面的文件列表里面检查是否上传成功。
- 助教会在实验截止时间保存所有上传的结果,截止时间之后上传的文件无效。
- 如果用Word编写实验报告,需导出成pdf格式。
- 代码文件打包格式必须为zip,请不要提交rar格式的压缩文件。
- 提交网址只能校园网访问。
- 代码用python语言写,实验报告评分标准英文好于中文,latex好于word。
参考⽂献
https://xgboost.readthedocs.io/en/latest/parameter.html (参考其中的参数说明)
有任何的意见或者建议都可以直接在qq群中向助教反映。