成功解决ValueError: Shape of passed values is (1, 332), indices imply (1, 1)

简介: 成功解决ValueError: Shape of passed values is (1, 332), indices imply (1, 1)

解决问题


def XGBR_train(X, y):

   train_x, test_x, train_y, test_y = train_test_split(X, y, test_size=0.3, random_state=0)  

   test_preds = pd.DataFrame({"label": test_y}, index=[1,332])

   XGBR_model = XGBRegressor(

       learning_rate=0.03,  # 默认0.3

       n_estimators=100,  # 树的个数

       max_depth=4 )

 

   XGBR_model.fit(train_x, train_y)

   test_preds['y_pred'] = XGBR_model.predict(test_x)

   XGBR_model_score = metrics.r2_score(test_preds['label'], test_preds['y_pred'])

 

   # GridSearchCV和cross_val_score的结果一样

#     scores = cross_val_score(XGBR_model, X, y, scoring='r2')

#     print(scores)

#     gs = GridSearchCV(XGBR_model, {}, cv=3, verbose=3).fit(X, y)

   return XGBR_model, XGBR_model_score



解决思路

值错误:传递值的形状为(1,332),索引表示(1,1)


解决方法

可知,形状为一维数据,所以索引只能在数据的维数范围内,不可超出!



相关文章
|
4月前
|
Python
完美解决丨2. `TypeError: list indices must be integers or slices, not str`
完美解决丨2. `TypeError: list indices must be integers or slices, not str`
|
12月前
报错 ValueError: too many values to unpack (expected 2)
报错 ValueError: too many values to unpack (expected 2)
148 0
ValueError: not enough values to unpack (expected 3, got 2)
这个错误通常是因为在解包(unpacking)元组(tuple)时,元组中的元素数量与期望不符,导致无法将所有元素正确解包。 例如,在以下代码中,元组中只有两个元素,但我们尝试将其解包为三个变量:
350 0
|
TensorFlow 算法框架/工具
解决TypeError: tf__update_state() got an unexpected keyword argument ‘sample_weight‘
解决TypeError: tf__update_state() got an unexpected keyword argument ‘sample_weight‘
230 0
解决TypeError: tf__update_state() got an unexpected keyword argument ‘sample_weight‘
|
Python
解决ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following
解决ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following
550 0
解决ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following
|
Python
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or
399 0
|
Linux Python
ValueError: empty range for randrange() (0, 0, 0)
ValueError: empty range for randrange() (0, 0, 0)
|
存储 索引
成功解决ValueError: If using all scalar values, you must pass an index
成功解决ValueError: If using all scalar values, you must pass an index
成功解决KeyError: “Passing list-likes to .loc or [] with any missing labels is no longer supported. The
成功解决KeyError: “Passing list-likes to .loc or [] with any missing labels is no longer supported. The