我想创建一个程序来使用SVM对文本数据进行分类。但在此之前,我必须使用StratifiedKFold()将数据拆分为列车数据和测试数据。
但最终却出现了这样的错误:
'Traceback (most recent call last):
File "C:\Users\Administrator\PycharmProjects\untitled1\main.py", line 115, in <module>
y_train, y_test = labels[train_index], labels[test_index]
TypeError: only integer scalar arrays can be converted to a scalar index'
如何解决此代码中的此错误?
这是在Python3.7上运行的代码
labels = []
label_np = np.array(labels)
with open(path, encoding='utf-8') as in_file:
data = csv.reader(in_file)
for line in data:
label_ = np.append(label_np, line)
model = SVC(kernel='linear')
total_svm = []
total_mat_svm = np.zeros((2,2))
kf = StratifiedKFold(n_splits=3)
kf.get_n_splits(result_preprocess, label_)
for train_index, test_index in kf.split(result_preprocess, label_):
# print('Train : ', test_index, 'Test : ', test_index)
x_train, x_test = result_preprocess[train_index], result_preprocess[test_index]
y_train, y_test = label_[train_index], label_[test_index]
vectorizer = TfidfVectorizer(min_df=5,
max_df=0.8,
sublinear_tf=True,
use_idf=True)
train_vector = vectorizer.fit_transform(x_train)
test_vector = vectorizer.transform(x_test)
model.fit(x_train, y_train)
hasil_svm = model.predict(x_test)
total_mat_svm = total_mat_svm + confusion_matrix(y_test, hasil_svm)
total_svm = total_mat_svm + sum(y_test==hasil_svm)
print(total_mat_svm)
我希望结果是分类性能和分类的混淆矩阵。
请参阅此答案:Numpy数组TypeError:只有整数标量数组可以转换为标量索引
我怀疑不仅result\u preprocess
,而且labels
是数据管道中的一个列表。在这种情况下,解决方案是在运行代码片段之前,将标签
转换为NumPy数组:
import numpy as np
labels = np.array(labels)
我是相当新的python/Numpy和不完全意识到它。 我一直试图实现一个算法,并在某一点上卡住了,当试图把数组的点积与其转置。我得到的错误是 TypeError:只能将整数标量数组转换为标量索引。 下面是我的代码,供参考。
尝试在包含279个文件的数据集上执行Kfold cv时,执行k-means后,文件的形状为。我对它进行了重塑,以使其适合svm。现在形状是。尝试Kfold cv方法会给我带来错误 msgstr"只有整数标量数组可以转换为标量索引"
我编写了以下代码来优化使用TensorRT的TensorFlow 1目标检测模型,然后在Jetson Nano上运行推断。但是,它运行推断,但返回索引,而不会在图像上显示识别的对象。 这是我的密码: 以下是错误的一个片段: 我该怎么解决这个问题? 谢谢
我为这个问题制作了两个数组的简单示例:是一个一维数组,索引处有标签,对应于nD数组的相同索引。我获取标签2出现的所有索引,并希望检索中的值。 因此,如果我想要标签2,我得到索引0和3,这应该给我相应数组中索引0和3的值。 但是当我想调用我的函数时,我收到一个TypeError@。 我的职能:
我看到的代码是: 不同变量的值是: ID: 欠条: 阈值:
我有一个名为self的浮动列表。数据,数据我把这个列表交给了peakutils。索引()如下所示: 索引=peakutils.indexes(self.data[_]['smooth_ISA'],thres=0.1,min_dist=50) 但是我得到了这个错误: 只有整数标量数组可以转换为标量索引 你认为发生了什么事? 谢谢