python - 神经网络中稀疏矩阵的使用
问题描述
我已经开始做一个名为 Talking Data User Demographics 的项目。在这个项目中,我需要找到向我提供电话数据的人的性别和年龄组。在给我的数据集中,我只能找到几乎 70% 的数据的手机型号和手机品牌,剩下的 30% 有事件、事件标签、位置、许多其他功能,包括型号和品牌。所以,我想为有事件的设备和没有事件的设备分别建立一个模型。作为寻找正确模型的一部分,我使用了各种算法。当我尝试神经网络时,对于没有事件的设备,我的日志损失更少,所以我想对有事件的设备也尝试同样的方法,但它给出了错误“不支持稀疏矩阵”。但是,如果是这样,当我拥有没有事件的设备模型时,它运行良好。
随附的文件包含一个代码,即使在 model.fit() 中使用稀疏矩阵时也能完美运行代码。第一张图片
现在在下面的附加文件中,当将稀疏矩阵传递给 model.fit()第二个图像时,它会给出错误
请仔细阅读整个代码以获得最佳参考。代码片段
解决方案
只是一个建议:不要在神经网络中使用稀疏矩阵,因为它会提供不好的结果。只需在运行 NN 之前使用 PCA 转换您的稀疏矩阵。例如,您在 scikit-learn 中使用了带有选项 whitening 的 PCA,这对于梯度下降也很有用。
在您的示例中,您想比较使用两个不同数据集运行的两个模型。两个不同的模型和两个不同的数据集可能会提供完全不同的结果。比较它们是没有意义的。
推荐阅读
- php - Angularjs 组合框值表单提交
- ruby-on-rails - 如何destroy_all 仅依赖于模型而不依赖于模型本身
- java - 使用自定义方法实现 JpaRepository 接口
- python - 为什么 XGBoost 没有显示正确的 best_iteration 和 ntree_limit?
- c++ - 从 C++ 中的头文件调用函数时出现 LNK2019 错误
- python - Python 中的 AWS Lambda:在 Lambda 函数处理程序中导入父包/目录
- php - PHP,使用 Ajax 无法调用其他目录中的 php 文件
- stm32 - stm32H474I 无法调试
- appium - 对于使用 react native 创建的 iOS 应用程序,无法使用 xpath 结尾在 appium 中定位元素
- javascript - 使用从 JavaScript 传递的值数组填充下拉列表