我有以下代码片段:
这段代码运行速度太慢了。有没有什么优化方法可以做?
def func1(self, X, y):
#X.shape = (455,13)
#y.shape = (455)
num_examples, num_features = np.shape(X)
self.weights = np.random.uniform(-1 / (2 * num_examples), 1 / (2 * num_examples), num_features)
while condition:
new_weights = np.zeros(num_features)
K = (np.dot(X, self.weights) - y)
for j in range(num_features):
summ = 0
for i in range(num_examples):
summ += K[i] * X[i][j]
new_weights[j] = self.weights[j] - ((self.alpha / num_examples) * summ)
self.weights = new_weights
这段代码运行速度太慢了。有没有什么优化方法可以做?
while
循环是无限的吗? - unutbufor j
循环内部重置summ=0
吗?这样做会丢弃for j
循环的每次迭代所做的所有工作,除了当j
等于num_features-1
时的最后一次迭代。 - unutbu