当前位置: 首页 > 面试题库 >

非整数类标签Scikit-Learn

潘星阑
2023-03-14
问题内容

scikit学习的快速SVM问题。训练SVM时,就像

from sklearn import svm
s = svm.SVC()
s.fit(training_data, labels)

有什么办法labels可以成为非数字类型的列表?例如,如果我想将向量分类为“猫”或“狗”,而不必使用某种外部查找表将“猫”和“狗”编码为1和2。当我尝试仅传递字符串列表时,我得到…

ValueError: invalid literal for float(): cat

因此,看起来像只是推弦乐labels不起作用。有任何想法吗?


问题答案:

sklearn的最新版本能够使用字符串作为标签。例如:

from sklearn.svm import SVC
clf = SVC()
x = [[1,2,3], [4,5,6]]
y = ['dog', 'cat']
clf.fit(x,y)

yhat = clf.predict([[1,2,5]])
print yhat[0]


 类似资料:
  • 问题内容: 我正在尝试使用来编码一大串字符串标签。由于数据框有许多(50+)列,因此我想避免为每一列创建一个对象。我宁愿只有一个可以在我所有数据列中使用的大对象。 将整个数据投入会产生以下错误。请记住,我在这里使用伪数据。实际上,我正在处理大约50列的字符串标记数据,因此需要一种不按名称引用任何列的解决方案。 追溯(最近一次通话最近):文件中的行1,在第y行中= 中的第306行文件引发(“错误的输

  • 需要提前导入的库: numpy import numpy as np 绘图 import matplotlib.pyplot as plt 数据集 from sklearn import datasets 各种机器学习库: kNN算法 from sklearn.neighbors import KNeighborsClassifier 线性回归 from sklearn.linear_model

  • 我正在尝试使用Scikit-Learn的来编码字符串标签的pandas。由于dataframe有许多(50+)列,我希望避免为每个列创建对象;我宁愿只有一个大的对象,它可以跨我的所有数据列工作。 将整个抛入会产生以下错误。请记住,我在这里使用的是虚拟数据;实际上,我正在处理大约50列字符串标记的数据,因此需要一个不引用任何列名称的解决方案。 回溯(最近一次调用):文件“”,第1行,在文件“/use

  • 我对C#背景的Java很陌生。我正在按照本教程向我的项目添加一个图像并在标签中显示。在C#中,我们使用Picture-box并设置image属性,在C#中,我还可以在设计时通过调整Picture-box的大小来调整Picture-box中的图像。 我已经按照教程将图像添加到一个标签,但现在的问题是图像相当大,我想重新调整大小。我试过调整标签的大小,但我的图像没有压缩或重新调整大小。 我该怎么做才能

  • 这适用于必须使用SVM方法来提高模型精度的分配。 共有3部分,编写了下面的代码 但在此之后,问题如下 执行数字标准化。数据,并将转换后的数据存储在可变数字中。 提示:从sklearn.preprocessing.使用所需的实用程序再次,将digits_standardized分成两个集合名称X_train和X_test。此外,将digits.target分成两组Y_train和Y_test。 提示

  • 我正在y_test并y_pred混淆矩阵。我的数据用于多标签分类,因此行值是一种热编码。 我的数据有30个标签,但在输入混淆矩阵后,输出只有11行和列,这让我很困惑。我想我应该有一辆30X30的。 它们的格式是numpy数组。(y\u test和y\u pred是我使用dataframe.values将其转换为numpy数组的数据帧) y\U测试。形状 y_test y\u预测。形状 y\u预测