【发布时间】:2021-07-14 02:57:29
【问题描述】:
我遇到了一个 numpy 数组形状不匹配错误。 StackOverflow 上有很多这样的问题,但没有一个能帮助我解决问题。我正在努力调试,因为库代码引发了错误。以下是相关部分:
from modAL.models import ActiveLearner
# ... fetch data
print("Beginning debugging logs:")
print(f"classifier: {clf}")
print(f"X_train shape: {X_train.shape}")
print(f"y_train shape: {y_train.shape}")
print(f"X_pool shape: {X_POOL.shape}")
learner = ActiveLearner(
estimator=clf,
X_training=X_train,
y_training=y_train
)
result = learner.query(X_POOL)
这是回溯:
classifier: DecisionTreeClassifier(max_depth=4)
X_train shape: (84, 4926)
y_train shape: (84, 51)
X_pool shape: (997, 4926)
File "rpc_server.py", line 139, in <module>
result = learner.query(X_POOL)
File "/home/ubuntu/venv/lib/python3.8/site-packages/modAL/models/base.py", line 261, in query
query_result = self.query_strategy(self, X_pool, *query_args, **query_kwargs)
File "/home/ubuntu/venv/lib/python3.8/site-packages/modAL/uncertainty.py", line 152, in uncertainty_sampling
uncertainty = classifier_uncertainty(classifier, X, **uncertainty_measure_kwargs)
File "/home/ubuntu/venv/lib/python3.8/site-packages/modAL/uncertainty.py", line 82, in classifier_uncertainty
uncertainty = 1 - np.max(classwise_uncertainty, axis=1)
File "/home/ubuntu/venv/lib/python3.8/site-packages/numpy/core/fromnumeric.py", line 2504, in amax
return _wrapreduction(a, np.maximum, 'max', axis, None, out, keepdims=keepdims,
File "/home/ubuntu/venv/lib/python3.8/site-packages/numpy/core/fromnumeric.py", line 86, in _wrapreduction
return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
ValueError: could not broadcast input array from shape (997,1) into shape (997)
环境是Python3.8,带有:
pandas==1.1.4
numpy==1.16.0
sklearn==0.0
modAL==0.4.0
我相信 (997,1) 只是一个简单嵌套的 (997) 数组?它似乎与这里需要的东西相去甚远。
如何调试此错误?谢谢!
【问题讨论】:
标签: python pandas numpy scikit-learn