Python 中的 SVM 在拟合数据集时出错
SVM in Python Error in fitting dataset
我对整个 SVM 和数据集比较陌生。我做了很多研究,但我无法弄清楚问题是什么。
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import svm
boston = datasets.load_boston()
X, y = boston.data, boston.target
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X, y)
clf.predict()
我想让它预测新值,但我不太确定该怎么做。此外,当我试图适应它时出现此错误。
ValueError:未知标签类型:array([ 24. , 21.6, 34.7, 33.4, 36.2, 28.7, 22.9, 27.1, 16.5,
18.9, 15. , 18.9, 21.7, 20.4, 18.2, 19.9, 23.1, 17.5.....
后跟许多数字的数组。
我已经能够将这些函数与我制作的用作 "datasets" 的小数组一起用于测试。
如何使用 SVM 预测此数据集的新数据?我对这一切也不是很了解
基本上我要做的是从波士顿获取数据集并为其预测新数据。给我的任务是使用 SVM 演示数据建模和预测,并提供测试集和训练集。
波士顿数据集中的目标是连续的。您正在使用 svm.SVC,这是一种分类算法(支持向量分类)。您可以使用 svm.SVR 对此数据集进行回归。
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import svm
boston = datasets.load_boston()
X, y = boston.data, boston.target
reg = svm.SVR(gamma=0.001, C=100.)
reg.fit(X, y)
predictions_training_set = reg.predict(X)
任何算法的 predict
函数都将接受一个参数,即要在其上进行预测的数据集 (X)。在上面的代码中,我为此使用了训练集。通常,您需要执行训练-测试拆分。 cross_validation.training_test_split
函数很方便。
http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.train_test_split.html
我对整个 SVM 和数据集比较陌生。我做了很多研究,但我无法弄清楚问题是什么。
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import svm
boston = datasets.load_boston()
X, y = boston.data, boston.target
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X, y)
clf.predict()
我想让它预测新值,但我不太确定该怎么做。此外,当我试图适应它时出现此错误。
ValueError:未知标签类型:array([ 24. , 21.6, 34.7, 33.4, 36.2, 28.7, 22.9, 27.1, 16.5, 18.9, 15. , 18.9, 21.7, 20.4, 18.2, 19.9, 23.1, 17.5..... 后跟许多数字的数组。
我已经能够将这些函数与我制作的用作 "datasets" 的小数组一起用于测试。
如何使用 SVM 预测此数据集的新数据?我对这一切也不是很了解
基本上我要做的是从波士顿获取数据集并为其预测新数据。给我的任务是使用 SVM 演示数据建模和预测,并提供测试集和训练集。
波士顿数据集中的目标是连续的。您正在使用 svm.SVC,这是一种分类算法(支持向量分类)。您可以使用 svm.SVR 对此数据集进行回归。
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import svm
boston = datasets.load_boston()
X, y = boston.data, boston.target
reg = svm.SVR(gamma=0.001, C=100.)
reg.fit(X, y)
predictions_training_set = reg.predict(X)
任何算法的 predict
函数都将接受一个参数,即要在其上进行预测的数据集 (X)。在上面的代码中,我为此使用了训练集。通常,您需要执行训练-测试拆分。 cross_validation.training_test_split
函数很方便。
http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.train_test_split.html