• 备注


    1.用户是多个,广告也是多个,一个用户可能对多个广告产生行为,一个广告也可能被对多个用户点击,这显然是不好处理的.我们假设只有一个广告,那么他对于用户而言只有两种情况,被点击和不被点击,这就成了一个二分类的问题.我们把用户特征与广告特征拼接,作为x,把与x对应的是否点击作为y,对于离散数据做分类可以使用knn,支持向量机,决策树/随机森林..对于离散数据.使用这些方法之前最好先做稀疏处理,我们最常用的方法是onehot.在另一篇博文里介绍了这种方法的优缺点,我想可以用w2v或者autoencoding处理一些关联较大的数据,比如interest1.我们的数据有四个g,稀疏处理后将会变得更大,可以对数据先拆分,我会分享顺序拆分的代码.

    2.我还有一种思路,就是先对用户特征稀疏化,做kmeans聚类,判断同类用户与广告之间的关系,这样问题可能会简单一些

    3.亲测只有knn或者的决策树的话准确率不会比随机猜测高太多,我们在他之前再套一层boosting算法

    4.考虑到内存溢出,我把训练集分块进行训练,得到每块的模型,当用整个测试集进行测试的时候出现了shape不匹配的问题,问题应该是数据集不完全包括测试集的特征,导致one-hot编码后维度不同,解决的办法:把每块数据集与测试集整合编码。

  • 相关阅读:
    Java 数组的浅拷贝和深拷贝
    Java 传递可变参数和方法重载
    Java 数组排序
    Java 一维数组作为参数和返回值
    Java 运算符及优先级
    MySQL 由 5.7 升级为 8.0 之后,Laravel 的配置改动
    Lavarel
    Laravel框架中Blade模板的用法
    php-fpm 配置文件检测
    Laravel Blade 模板 @section/endsection 与 @section/show, @yield 的区别
  • 原文地址:https://www.cnblogs.com/IAMzhuxiaofeng/p/8877595.html
Copyright © 2020-2023  润新知