太长不看版:
请滑到页面下方,直接选填训练好的模型名,再选好你想找的/想做的游戏类型即可查看预测销量。我已将训练好的模型用html+js+php+python(scikit-learn,pickle,hdf5)
结合了起来,网页上即可查看结果。
背景:这是我刚刚接触ML的 "toy example"。尽管它很简单,但是却很有意思。想做游戏和想玩游戏的我可以方便地找到steam上同类型的游戏和还没被做出来的游戏。它也可以帮助我简单地预测一下游戏能卖出多少份(...妥妥0-20k那一档啦)。数据来源是 Steam Store Games。
探索性数据分析 (EDA):EDA的过程也是排除一些变量和发现数据潜在问题的时候。这份数据有两大“缺点”:1.数据量小而且不平衡(highly-imbalanced)。steam游戏总共就那么多,而且不可能每种类型组合都有。并且,销售量达到1百万的游戏实在是凤毛麟角,强大的ML模型(有可能任何模型)都存在over-fitting的问题。2.很多feature无法利用,而且数据本身就不一定包含能够预测销量的很多信息。比如说“平均游玩时间”,这对于游戏开发者而言是未知的。而且很多像这样的数据有可能是销量的“结果”,并不适合拿来放进模型,只能丢弃不用。综上,该模型预测效果上还是有很多疑问的。
实验模型和结果: 出入为下表中的参数。输出为['0-20k', '20k-50k', '50k-100k', '100k-200k', '200k-500k', '500k-1m', '1m-2m', '2m-5m', '5m-10m', '10m-20m', '20m-50m', '50m-100m', '100m-200m']
销售区间中的一组。模型有MLP (2 hidden layers), SVM (linear-kernel), Adaboost, Logistic Regression, Random Forest。它们在test set (2018-06月以后上架的游戏)中预测销量区间的准确率分别为:78.24%, 89.11%, 90.29%, 86.43%。
本次迁移到LVM:迁移到LVM中还是觉得这个预测销量和找相似的游戏这个主题很有意思,而且它的model足够轻便,即使算力不足的cpu也不是问题。最近几天,模型用了scikit-learn
重新跑了一遍,结果用pickle
封装到.pkl
中。前端用post
将参数递给php
,然后再唤起py
文件。然后我用了80%的时间微调前端form
的.css
文件。"how to center a div within a div?"
可太真实了。那么请善待我的虚拟机(不要疯狂刷新和重交啊!),看看结果吧~