我得到一个TypeError“TypeError:只有整数标量数组可以转换为标量索引”。你知道吗
我不太清楚为什么,我找不到任何东西来解释为什么我会犯那个错误。有人能解释一下我做错了什么并提出改正的方法吗?你知道吗
import numpy as np
from sklearn.metrics import accuracy_score
from sklearn.neural_network import MLPClassifier
data1 = np.loadtxt('0003_1.csv', delimiter=",")
indices = np.random.permutation(len(data1.data))
split = round(len(indices) * 0.8)
x_train = data1.data[indices[:split]]
y_train = data1.target[indices[:split]]
x_test = data1.data[indices[split:]]
y_test = data1.target[indices[split:]]
clf = MLPClassifier(hidden_layer_sizes=(100, 100, 100), max_iter=500, alpha=0.0001, solver='sgd', verbose=10, random_state=21, tol=0.000000001)
clf.fit(x_train, y_train)
y_pred = clf.predict(x_test)
accuracy_score(y_test, y_pred)
假设您没有逐行尝试这段代码,查看沿途的结果,这公平吗?你知道吗
您没有提供
csv
文件,但是以这种方式调用的loadtxt
只能生成一个二维浮点数组,因此让我们用np.ones
来模拟:这样的数组确实具有
data
属性,即memoryview
:它没有
target
属性。您的csv
可能有这样名称的列(但是您没有读取标题),但是loadtxt
没有这样加载它们。你知道吗但让我们向前看你的错误。
.data
有一个len
就像data1
,所以indices
工作:但是
memoryview
不能用切片索引:可以使用此切片索引2d数组:
所以问题的根源是认为
data1.data
和data1.target
是有用的表达式。实际上,您没有按预期加载数据对象,或者没有按预期的方式加载数据对象。你没有检查data1
。你知道吗相关问题 更多 >
编程相关推荐