将1维向量拟合到SVC线性核

我正在尝试使用带有线性核的SVC进行图像识别任务。我当前的数据是一个2×5的矩阵

[['Face 1' 'Face2' 'Face 3' 'Face 4' 'Face 5'] ['229.0' '230.0' '231.0' '230.0' '230.0']]

我的第二行是我的X特征,这些是来自不同图像的像素强度值。

我的第一行是我的Y标签,表示从哪个面部图像中提取了像素。我无论如何都要将我的数据输入到SVC中,不惜一切代价。

我尝试的方法是:

    m_array = [[229, 230, 231, 230, 230]]    faces = []    faces = np.asarray(['Face 1', 'Face2', 'Face 3', 'Face 4', 'Face 5']).reshape(-1, 5)        data = np.stack((faces, m_array)).reshape(2, 5)    df = pd.DataFrame(data)    X = data[1, :]    Y = data[0, :]from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20)from sklearn.svm import SVCsvclassifier = SVC(kernel='linear')svclassifier.fit(X_train, y_train)

我想测试这些特征的识别率,但得到的错误是:

TypeError: Singleton array array(162) cannot be considered a validcollection.


回答:

sklearn期望你的X_train数组是一个二维数组,例如(n_examples, 1),而Y_train则期望是一个一维的标签数组,例如(n_examples, )。

我重新格式化了你的代码,删除了一些不必要的步骤并修复了问题:

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注