这个帖子里面的错误已经解决啦!!!
错误原因如下,一个细节的问题,修改如下:
class LinearRegression:
def __init__(self, data, labels, polynomial_degree=0, sinusoid_degree=0, normalize_data=True):
"""
1.对数据进行预处理操作
2.先得到所有的特征个数
3.初始化参数矩阵
"""
# 数据预处理
data_processed, feature_mean, feature_deviation = prepare_for_training(data, polynomial_degree, sinusoid_degree, normalize_data)
self.data = data_processed
self.labels = labels
self.feature_mean = feature_mean
self.feature_deviation = feature_deviation
self.polynomial_degree = polynomial_degree
self.sinusoid_degree = sinusoid_degree
self.normalize_data = normalize_data
num_features = self.data.shape[1]
self.theta = np.zeros((num_features, 1))
在上述代码中:
- 使用
data_processed
替代data
,确保使用处理后的数据,特征数量正确
这个更改就能确保矩阵维度正确对齐,防止出现你遇到的 ValueError
。