如何编写分段线性回归

时间:2019-04-08 23:50:24

标签: python graph piecewise

我对编码非常陌生,我需要绘制一个在python中具有分段线性回归的图(用于课程)。基本上,我有五个数据点,并且希望有单独的线连接它们。如果有人可以帮助,将不胜感激。

(除此之外,我想知道如何编码以实现值之间的概率,例如24,33等) 这是我到目前为止的代码:

ages = [20, 30, 35, 40, 45]

probabilities = [1 / 1500, 1 / 800, 1 / 270, 1 / 100, 1 / 50]

import matplotlib.pyplot as plt

%matplotlib inline

plt.title('Maternal age affecting likelihood of having a Down Syndrome child')

plt.xlabel('$Age$')

plt.ylabel('$Probability$')

plt.scatter(ages, probabilities)

1 个答案:

答案 0 :(得分:0)

您之所以获得积分,是因为您选择了plt.scatter()来绘制散点图。如果您想要线条图,只需切换到plt.plot(),例如:

import matplotlib.pyplot as plt

ages = [20, 30, 35, 40, 45]
probabilities = [1 / 1500, 1 / 800, 1 / 270, 1 / 100, 1 / 50]

plt.title('Maternal age affecting likelihood of having a Down Syndrome child')
plt.xlabel('$Age$')
plt.ylabel('$Probability$')
plt.plot(ages, probabilities)
plt.show()

屈服:

line plot

使用numpy根据此数据进行插值非常简单。您只需运行:

import numpy as np

ages = [20, 30, 35, 40, 45]
probabilities = [1 / 1500, 1 / 800, 1 / 270, 1 / 100, 1 / 50]

prob_32 = np.interp(32, ages, probabilities) # change 32 to whatever age you want
print(prob_32)

但是这会将概率显示为.00223而不是1/450,但是您可以说1/prob_32以获得450号!

相关问题