Skip to content

qinguoyi/CodeCraft2020_HUAWEI2020_toy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

2020华为软件精英挑战赛热身赛

赛题简述

通俗讲,赛题打算通过研究现有数据的规律,然后对新数据进行二分类。

思路流程图

赛题大体上可以分为四部分,数据读取与转换,模型训练,模型预测和结果文件生成。

  • 数据读取与转换
    • 主线程通过mmap对文件进行映射,得到数据指针
    • 四个线程从指针四等分处对字节进行处理,通过自己编写的myatof函数转为具体数据
  • 模型训练
    • 极其简化的K-Means分类,使用1000个特征维度
    • 子线程读取训练文件的四部分,主线程得到0和1两个类别的平均中心
  • 模型预测
    • 将测试文件进行读取与转换,设置阈值对第一个维度的数据进行过滤
    • 小于阈值的使用类别中心和欧氏距离对该行数据进行分类,大于阈值的直接赋值为类别1
  • 结果文件生成
    • 模型预测时生成的类别类型为char,而不是int型
    • 每行数据预测后,生成类别+换行符,主线程通过fwrite写入文件

About

2020华为软件精英挑战赛热身赛

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages