我正在尝试建立一个神经网络,以预测每个网球运动员在互相比赛时赢得服务点的概率.对于输入,我将使用每个玩家所玩的最后N个匹配,取得对手的排名差异以及赢得他在比赛中获得的点的实际概率.
例如,仅查看每个玩家的2个匹配,一个输入就是
i=[-61, 25, 0.62, 0.64, 2, -35, 0.7, 0.65]
前4名是第一名(排名差异和概率),其他4名是第二名.
输出将是
o=[0.65, 0.63]
所以训练输入是X = [i1,i2,i3,…]并输出y = [o1,o2,o3,…]
我有几个新手问题:
>是否有必要对整个数据集中的输入(排名和概率)进行标准化?
>当我尝试在python中运行它时,它说
ValueError: Multioutput target data is not supported with label binarization
我可以让MLPClassifier使用2个输出吗?
编辑:添加了一些代码
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(solver='lbfgs', alpha=1e-5,
hidden_layer_sizes=(5, 2), random_state=1)
X=[[-61, 25, 0.62, 0.64, 2, -35, 0.7, 0.65], [2,-5,0.58,0.7,-3,-15,0.65,0.52] ]
y=[ [0.63, 0.64], [0.58,0.61] ]
clf.fit(X,y)
该代码返回提到的错误.数据在这里没有标准化,但是现在让我们忽略它.