首页 > 解决方案 > ValueError:形状(5,640)和(26,26)未对齐:640(dim 1)!= 26(dim 0)

问题描述

我使用极限学习机 (ELM) 模型作为回归进行预测。我使用 K-fold 来验证模型预测。但执行以下代码后,我收到此消息错误:

ValueError: shapes (5,640) and (26,26) not aligned: 640 (dim 1) != 26 (dim 0)

我该如何解决这个问题我的代码:

#---------------------------------(import dataset_without divided)---------

dataset = pd.read_excel("ss.xls")
X=dataset.iloc[:,:-1]
y=dataset.iloc[:,-1:]
#----------Scaler----------
scaler = MinMaxScaler()
X=scaler.fit_transform(X)

kfolds = KFold(n_splits=5, random_state=16, shuffle=False)  

train_folds_idx = []
valid_folds_idx = []

for train_index, valid_index in kfolds.split(dataset.index):
    train_folds_idx.append(train_index)
    valid_folds_idx.append(valid_index)
 
#------------------------INPUT------------------

input_size = X.shape[1]

#---------------------------(Number of neurons)-------
hidden_size = 26

#---------------------------(weights & biases)------------
input_weights = np.random.normal(size=[input_size,hidden_size])
biases = np.random.normal(size=[hidden_size])

#----------------------(Activation Function)----------
def relu(x):
   return np.maximum(x, 0, x)

#--------------------------(Calculations)----------
def hidden_nodes(X):
    G = np.dot(X, input_weights)
    G = G + biases
    H = relu(G)
    return H

#Output weights 

output_weights = np.dot(pinv2(hidden_nodes(train_folds_idx)), valid_folds_idx)


#------------------------(Def prediction)---------
def predict(X):
    out = hidden_nodes(X)
    out = np.dot(out, output_weights)
    return out

#------------------------------------(Make_PREDICTION)--------------

prediction = predict(valid_folds_idx)

标签: pythonmachine-learningcross-validationk-fold

解决方案


推荐阅读