RandomForest IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
RandomForest IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
我正在与 sklearn
合作 RandomForestClassifier
:
class RandomForest(RandomForestClassifier):
def fit(self, x, y):
self.unique_train_y, y_classes = transform_y_vectors_in_classes(y)
return RandomForestClassifier.fit(self, x, y_classes)
def predict(self, x):
y_classes = RandomForestClassifier.predict(self, x)
predictions = transform_classes_in_y_vectors(y_classes, self.unique_train_y)
return predictions
def transform_classes_in_y_vectors(y_classes, unique_train_y):
cyr = [unique_train_y[predicted_index] for predicted_index in y_classes]
predictions = np.array(float(cyr))
return predictions
我收到此错误消息:
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
似乎 y_classes
包含的值不是有效索引。
当您尝试使用 predicted_index
访问 unique_train_y
时,您会遇到异常,因为 predicted_index 不是您想象的那样。
尝试执行以下代码:
cyr = [unique_train_y[predicted_index] for predicted_index in range(len(y_classes))]
# assuming unique_train_y is a list and predicted_index should be integer.
我正在与 sklearn
合作 RandomForestClassifier
:
class RandomForest(RandomForestClassifier):
def fit(self, x, y):
self.unique_train_y, y_classes = transform_y_vectors_in_classes(y)
return RandomForestClassifier.fit(self, x, y_classes)
def predict(self, x):
y_classes = RandomForestClassifier.predict(self, x)
predictions = transform_classes_in_y_vectors(y_classes, self.unique_train_y)
return predictions
def transform_classes_in_y_vectors(y_classes, unique_train_y):
cyr = [unique_train_y[predicted_index] for predicted_index in y_classes]
predictions = np.array(float(cyr))
return predictions
我收到此错误消息:
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
似乎 y_classes
包含的值不是有效索引。
当您尝试使用 predicted_index
访问 unique_train_y
时,您会遇到异常,因为 predicted_index 不是您想象的那样。
尝试执行以下代码:
cyr = [unique_train_y[predicted_index] for predicted_index in range(len(y_classes))]
# assuming unique_train_y is a list and predicted_index should be integer.