Python Math: опишите линейную регрессию
Python Math: упражнение 61 с решением
Напишите программу на Python для описания линейной регрессии.
Примечание. Линия линейной регрессии имеет уравнение вида Y = a + bX, где X - объясняющая переменная, а Y - зависимая переменная. Наклон линии равен b, а a - это точка пересечения (значение y при x = 0).
Пример решения : -
Код Python:
#https://gist.github.com/cartr/6513044
# Define the data
data = set()
count = int(input("Enter the number of data points: "))
for i in range(count):
x=float(input("X"+str(i+1)+": "))
y=float(input("Y"+str(i+1)+": "))
data.add((x,y))
# Find the average x and y
avgx = 0.0
avgy = 0.0
for i in data:
avgx += i[0]/len(data)
avgy += i[1]/len(data)
# Find the sums
totalxx = 0
totalxy = 0
for i in data:
totalxx += (i[0]-avgx)**2
totalxy += (i[0]-avgx)*(i[1]-avgy)
# Slope/intercept form
m = totalxy/totalxx
b = avgy-m*avgx
print("Best fit line:")
print("y ="+str(m)+"x + "+str(b))
x = float(input("Enter a value to calculate: "))
print("y ="+str(m*x+b))
Пример вывода:
Введите количество точек данных: 2 X1: 1 Y1: 2 Х2: 3 Y2: 4 Лучше всего подходит линия: у = 1,0х + 1,0 Введите значение для расчета: 10 у = 11,0
Блок - схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу на Python для анализа математических формул и поместите скобки вокруг умножения и деления.
Далее: Напишите программу на Python для расчета сетки координат шестиугольника заданного радиуса с учетом координат внизу слева и справа. Функция вернет список списков, содержащий 6 наборов координат точек x, y. Их можно использовать для построения правильных правильных шестиугольных многоугольников.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования