Scikit Learn SVM - 输入类型

Scikit Learn SVM - Input types

Hy 我开始学习 Scikit learn,但我对他们在所有本教程中使用的 iris-date 或 orlando real estate price 东西不感兴趣。这对我来说没有任何意义。我想使用我自己的日期,但我不知道应该使用什么输入格式。

我的代码是这样的:

import matplotlib.pyplot as plt

from sklearn import svm

clf = svm.SVC(gamma=0.001, C=100)

x,y = [[1,2], [2,4]]

clf.fit(x,y)

我总是收到消息:

ValueError: Found input variables with inconsistent numbers of samples: [1, 2]

我尝试了许多其他格式,例如 [[1],[1]] 或 1,1。

所以我的简单问题,在 formate 中我必须写这个吗 "x,y = [[1,2], [2,4]]" 我的数据?

此外,我如何训练模型进行预测,例如:我在一场联赛中有 10 支运动队。

在我的 table 我有: 团队 1 |团队 2 |结果 |位置

所以我想知道如果两支球队互相比赛谁会赢,当然位置也可能是一个因素。

我想预测A队在主场对阵B队,谁更有可能获胜。

如何输入您的数据:

您输入数据的方式 x 仅包含一个具有 2 个特征的样本,而 y 提供 2 个标签。

使用此表示法获得 2 个样本,每个样本具有一个特征:x,y = [[1],[4]],[2,4]

或者,为了让它更明显:

x = [[1],[4]]
y = [2,4]

顺便说一句:鉴于您是 Scikit 学习的新手,您绝对应该尝试对 Numpy 数组进行同样的操作。

进行分类:

如果您想预测谁会获胜,您需要执行以下几个步骤:

    - 拆分你的数据,以便你的特征("teamA"、"teamB" 和 "location")包含在你的训练数据中,结果代表标签,例如:
x = [[teamA1,teamB1,Loc1],[teamA2,teamB2,Loc2],[teamA3,teamB3,Loc3],...]
y = [result1,result2,result3,...]
    - 像以前一样适合您的模型
    - 根据您的测试数据做出预测,例如:
x_test = [teamX,teamY,locX]  # data for which you want the forecast
clf.predict(x_test)          # this returns the estimated result