Я изучаю машинное обучение на python и в настоящее время изучаю основы.Сейчас я изучаю линейную регрессию и пытаюсь реализовать некоторые математические формулы в коде Python.Мне удалось написать некоторые формулы успешно, но есть одна, с которой у меня трудные времена: (X - Xmeans) * (Y - Ymeans) Это всегда дает мне ошибку: «индексы списка должны быть целыми или кусочками, а не numpy.float64«Когда я пытаюсь распечатать его.
Я пытался найти те же случаи и их решения в Интернете, но ни один из них не помог.
import numpy
import matplotlib.pyplot as plt
X_positions = numpy.array([2,3,4,5,6])
y_positions = numpy.array([4,5,6,5,7])
plt.plot([X_positions], [y_positions], 'ro')
plt.axis([0,10,0,10])
X_means = sum(X_positions) / len(X_positions)
y_means = sum(y_positions) / len(y_positions)
plt.plot([X_means], [y_means], 'go')
plt.axis([0,10,0,10])
X_minus_X_means = []
y_minus_y_means = []
X_minus_X_means_squared = []
for i in X_positions:
X_minus_X_means.append(i - X_means)
for i in y_positions:
y_minus_y_means.append(i - y_means)
for i in X_minus_X_means:
X_minus_X_means_squared.append(i ** 2)
X_minus_X_means_times_y_minus_y_means = []
#HERE IS THE PROBLEM
for i in X_minus_X_means and y_minus_y_means:
X_minus_X_means_times_y_minus_y_means.append(X_minus_X_means[i] * y_minus_y_means[i])