[娱乐]Bilibili 2016动画角色男女主角冠军预测
2017-01-01 23:54
190 查看
突然看到Bilibili 2016动画角色人气比拼的活动,一时兴起,利用sklearn进行冠军的预测,数据来自http://bangumi.bilibili.com/moe/2016/jp/schedule/20170101。
冠军未产生时的人气对决数据如下:
博主并不是一个深度宅男,除了一些热门角色(大部分都是),有些 角色需要翻看百度百科来给人物确立特征,暂定特征有:是否是主角(0,1),性格冷或热(0,1),性格稳定度(0,1),SorM(0,1),发色是否为黑(0,1),是否长发(0,1),不能确定的取0.5,来为每个角色建立数据。
对决的数据为两个角色的特征差,对决结果为两个角色的票数比例(左人物比上右人物),对决数据如下:
编写python程序,利用sklearn中的SVM回归来进行拟合,代码如下:
读取数据:
数据预测:
预测结果:
结果为:
array([ 1.27587358, 0.85956564])
即蕾姆获胜,夜斗获胜。蕾姆票数比五和琴里为:1.27587358杀老师票数比夜斗为:0.85956564最终结果如下:
冠军结果正确,蕾姆票数比例比预测高很多1.72(预测1.276)(评论中为蕾姆拉票的很多),夜斗获胜票数比例基本预测正确0.905(预测0.86)。
PS:其实单纯靠蒙猜对的正确率也有25%,而且数据量极少,所以只用了sklearn的基本函数,这篇机器学习的数据预测的目的只是娱乐一下。
冠军未产生时的人气对决数据如下:
博主并不是一个深度宅男,除了一些热门角色(大部分都是),有些 角色需要翻看百度百科来给人物确立特征,暂定特征有:是否是主角(0,1),性格冷或热(0,1),性格稳定度(0,1),SorM(0,1),发色是否为黑(0,1),是否长发(0,1),不能确定的取0.5,来为每个角色建立数据。
对决的数据为两个角色的特征差,对决结果为两个角色的票数比例(左人物比上右人物),对决数据如下:
IfMaincha | Stability | ColdorHot | SorM | IfHairBlack | IfHairlong | Rank |
0 | 1 | 0 | -1 | 0 | 0 | 0.6323195642 |
1 | -1 | 0 | 0.5 | 1 | 1 | 0.9933649866 |
1 | 1 | 0 | 0.5 | 0 | 1 | 0.8718418515 |
1 | 0 | -1 | 0 | 0 | 0 | 0.7054327375 |
0 | 0 | -0.5 | 0 | 0.5 | 0 | 1.0489565819 |
0 | 0 | -1 | 0 | -0.5 | 0 | 1.1693645485 |
0 | 1 | 0 | -1 | -1 | -0.5 | 0.8763312998 |
1 | 0 | 1 | 0 | 0 | 0 | 1.0544862304 |
0 | -1 | 0 | 1 | 0 | 1 | 1.176349052 |
0 | 0 | -1 | -1 | 0.5 | -1 | 1.0830188679 |
0 | 0 | -0.5 | 0 | 0.5 | 0 | 0.9055555556 |
1 | -1 | 1 | 0 | 0 | 0.5 | 1.6249837683 |
读取数据:
# Imports # pandas import pandas as pd from pandas import Series,DataFrame # numpy, matplotlib, seaborn import numpy as np import matplotlib.pyplot as plt import seaborn as sns sns.set_style('whitegrid') %matplotlib inline # machine learning from sklearn.svm import SVR train_df = pd.read_csv("/home/lsei/文档/train.csv") test_df = pd.read_csv("/home/lsei/文档/test.csv") # preview the data train_df.head() # define training and testing sets X_train = train_df.drop("Rank",axis=1) Y_train = train_df["Rank"] X_test = test_df.copy()
IfMaincha | Stability | ColdorHot | SorM | IfHairBlack | IfHairlong | Rank | |
---|---|---|---|---|---|---|---|
0 | 0 | 1 | 0.0 | -1.0 | 0.0 | 0 | 0.632320 |
1 | 1 | -1 | 0.0 | 0.5 | 1.0 | 1 | 0.993365 |
2 | 1 | 1 | 0.0 | 0.5 | 0.0 | 1 | 0.871842 |
3 | 1 | 0 | -1.0 | 0.0 | 0.0 | 0 | 0.705433 |
4 | 0 | 0 | -0.5 | 0.0 | 0.5 | 0 | 1.048957 |
svc = SVR() svc.fit(X_train, Y_train) Y_pred = svc.predict(X_test) svc.score(X_train, Y_train)
预测结果:
Y_pred=Y_pred1+Y_pred2+Y_pred3+Y_pred4+Y_pred5+Y_pred6+Y_pred7 Y_pred=np.round(Y_pred/7.0) Y_pred=Y_pred.astype(int); Y_pred
结果为:
array([ 1.27587358, 0.85956564])
即蕾姆获胜,夜斗获胜。蕾姆票数比五和琴里为:1.27587358杀老师票数比夜斗为:0.85956564最终结果如下:
冠军结果正确,蕾姆票数比例比预测高很多1.72(预测1.276)(评论中为蕾姆拉票的很多),夜斗获胜票数比例基本预测正确0.905(预测0.86)。
PS:其实单纯靠蒙猜对的正确率也有25%,而且数据量极少,所以只用了sklearn的基本函数,这篇机器学习的数据预测的目的只是娱乐一下。
相关文章推荐
- 【Salvation】——怪物角色动画&主角碰撞死亡动画
- Unity3D(3D游戏开发入门教程-38)Unity3D人物动画介绍,关键帧角色动画导入并切割
- (娱乐)从数据的来看第4届DOTA2国际邀请赛(TI4)战队夺冠预测
- Unity3D中角色的动画脚本的编写(三)
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十六)通用型角色头像面板
- cocos2d-x初学笔记08:角色动画Animation
- 一点小预测(纯娱乐)
- HTML5吃豆豆游戏开发实战(二)主角移动和动画循环设置
- 角色动画笔记
- 3D游戏角色动画
- 角色动画研究 —— 使用雅可比矩阵(Jacobian)来结算IK
- 李开复预测移动互联网六大趋势:娱乐成主流
- 转载:为某燃气公司做的一部卡通角色广告动画
- 2016中国app年度排行榜:十大行业、25个领域、Top 500 和2017趋势预测
- 五分钟了解Mecanim角色动画系统
- 开发角色动画系统
- (转) Unity3D中角色的动画脚本的编写(三)
- android仿网易云音乐、即时通讯、bilibili、沙漏动画等源码
- cocos2d-x帧动画 -- 角色跑动
- Android仿bilibili弹幕聊天室后面的线条动画