new figs, figure script for lin regression dummy data
This commit is contained in:
parent
afd6bdf791
commit
438aa9e1fa
Binary file not shown.
Binary file not shown.
BIN
regression/lecture/figures/lin_regress_intercept.pdf
Normal file
BIN
regression/lecture/figures/lin_regress_intercept.pdf
Normal file
Binary file not shown.
Binary file not shown.
91
regression/lecture/lin_regress.py
Normal file
91
regression/lecture/lin_regress.py
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import numpy as np
|
||||||
|
from IPython import embed
|
||||||
|
|
||||||
|
def create_data():
|
||||||
|
m = 0.75
|
||||||
|
n= -30
|
||||||
|
x = np.arange(0.,101., 2.5)
|
||||||
|
y = m * x + n;
|
||||||
|
noise = np.random.randn(len(x))*15
|
||||||
|
y += noise
|
||||||
|
return x, y, m, n
|
||||||
|
|
||||||
|
|
||||||
|
def plot_data(x, y):
|
||||||
|
plt.xkcd()
|
||||||
|
plt.scatter(x, y, marker='o', color='dodgerblue', s=40)
|
||||||
|
plt.xlabel("Input x")
|
||||||
|
plt.ylabel("Output y")
|
||||||
|
plt.xlim([-2.5, 102.5])
|
||||||
|
ax = plt.gca()
|
||||||
|
ax.spines["right"].set_visible(False)
|
||||||
|
ax.spines["top"].set_visible(False)
|
||||||
|
ax.yaxis.set_ticks_position('left')
|
||||||
|
ax.xaxis.set_ticks_position('bottom')
|
||||||
|
ax.xaxis.linewidth=1.5
|
||||||
|
ax.yaxis.linewidth=1.5
|
||||||
|
ax.tick_params(direction="out", width=1.25)
|
||||||
|
ax.tick_params(direction="out", width=1.25)
|
||||||
|
fig = plt.gcf()
|
||||||
|
fig.set_facecolor("white")
|
||||||
|
fig.set_size_inches(3., 3.)
|
||||||
|
fig.savefig("figures/lin_regress.pdf")
|
||||||
|
plt.close()
|
||||||
|
|
||||||
|
|
||||||
|
def plot_data_slopes(x, y, m, n):
|
||||||
|
plt.xkcd()
|
||||||
|
plt.scatter(x, y, marker='o', color='dodgerblue', s=40)
|
||||||
|
for i in np.linspace(m/4, m*1.5, 5):
|
||||||
|
plt.plot(x, i*x+n, color="r", lw=2)
|
||||||
|
|
||||||
|
plt.xlabel("Input x")
|
||||||
|
plt.ylabel("Output y")
|
||||||
|
plt.xlim([-2.5, 102.5])
|
||||||
|
ax = plt.gca()
|
||||||
|
ax.spines["right"].set_visible(False)
|
||||||
|
ax.spines["top"].set_visible(False)
|
||||||
|
ax.yaxis.set_ticks_position('left')
|
||||||
|
ax.xaxis.set_ticks_position('bottom')
|
||||||
|
ax.xaxis.linewidth=1.5
|
||||||
|
ax.yaxis.linewidth=1.5
|
||||||
|
ax.tick_params(direction="out", width=1.25)
|
||||||
|
ax.tick_params(direction="out", width=1.25)
|
||||||
|
fig = plt.gcf()
|
||||||
|
fig.set_facecolor("white")
|
||||||
|
fig.set_size_inches(3., 3.)
|
||||||
|
fig.savefig("figures/lin_regress_slope.pdf")
|
||||||
|
plt.close()
|
||||||
|
|
||||||
|
|
||||||
|
def plot_data_intercepts(x, y, m, n):
|
||||||
|
plt.xkcd()
|
||||||
|
plt.scatter(x, y, marker='o', color='dodgerblue', s=40)
|
||||||
|
for i in np.linspace(n-n/2, n+n/2, 5):
|
||||||
|
plt.plot(x, m * x + i, color="r", lw=2)
|
||||||
|
|
||||||
|
plt.xlabel("Input x")
|
||||||
|
plt.ylabel("Output y")
|
||||||
|
plt.xlim([-2.5, 102.5])
|
||||||
|
ax = plt.gca()
|
||||||
|
ax.spines["right"].set_visible(False)
|
||||||
|
ax.spines["top"].set_visible(False)
|
||||||
|
ax.yaxis.set_ticks_position('left')
|
||||||
|
ax.xaxis.set_ticks_position('bottom')
|
||||||
|
ax.xaxis.linewidth=1.5
|
||||||
|
ax.yaxis.linewidth=1.5
|
||||||
|
ax.tick_params(direction="out", width=1.25)
|
||||||
|
ax.tick_params(direction="out", width=1.25)
|
||||||
|
fig = plt.gcf()
|
||||||
|
fig.set_facecolor("white")
|
||||||
|
fig.set_size_inches(3., 3.)
|
||||||
|
fig.savefig("figures/lin_regress_intercept.pdf")
|
||||||
|
plt.close()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
x, y, m, n = create_data()
|
||||||
|
plot_data(x,y)
|
||||||
|
plot_data_slopes(x,y,m,n)
|
||||||
|
plot_data_intercepts(x,y,m,n)
|
Reference in New Issue
Block a user