def generate_inverted_sinewave_dataset(N = 1000, f = 1.0, p = 0.0, a1 = 1.0, a2 = 0.3):
"""models_actinf.generate_inverted_sinewave_dataset
Generate the inverted sine dataset used in Bishop's (Bishop96)
mixture density paper
Returns:
- matrices X, Y
"""
X = np.linspace(0,1,N)
# FIXME: include phase p
Y = a1 * X + a2 * np.sin(f * (2 * 3.1415926) * X) + np.random.uniform(-0.1, 0.1, N)
X,Y = Y[:,np.newaxis],X[:,np.newaxis]
# pl.subplot(211)
# pl.plot(Y, X, "ko", alpha=0.25)
# pl.subplot(212)
# pl.plot(X, Y, "ko", alpha=0.25)
# pl.show()
return X,Y
python类plot()的实例源码
def plot_word_frequencies(freq, user):
samples = [item for item, _ in freq.most_common(50)]
freqs = np.array([float(freq[sample]) for sample in samples])
freqs /= np.max(freqs)
ylabel = "Normalized word count"
pylab.grid(True, color="silver")
kwargs = dict()
kwargs["linewidth"] = 2
kwargs["label"] = user
pylab.plot(freqs, **kwargs)
pylab.xticks(range(len(samples)), [nltk.compat.text_type(s) for s in samples], rotation=90)
pylab.xlabel("Samples")
pylab.ylabel(ylabel)
pylab.gca().set_yscale('log', basey=2)
def predicted_vs_actual_sale_price(self, x_train, y_train, title_name):
# Split the training data into an extra set of test
x_train_split, x_test_split, y_train_split, y_test_split = train_test_split(x_train, y_train)
print(np.shape(x_train_split), np.shape(x_test_split), np.shape(y_train_split), np.shape(y_test_split))
lasso = LassoCV(alphas=[0.0001, 0.0003, 0.0006, 0.001, 0.003, 0.006, 0.01, 0.03, 0.06, 0.1,
0.3, 0.6, 1],
max_iter=50000, cv=10)
# lasso = RidgeCV(alphas=[0.0001, 0.0003, 0.0006, 0.001, 0.003, 0.006, 0.01, 0.03, 0.06, 0.1,
# 0.3, 0.6, 1], cv=10)
lasso.fit(x_train_split, y_train_split)
y_predicted = lasso.predict(X=x_test_split)
plt.figure(figsize=(10, 5))
plt.scatter(y_test_split, y_predicted, s=20)
rmse_pred_vs_actual = self.rmse(y_predicted, y_test_split)
plt.title(''.join([title_name, ', Predicted vs. Actual.', ' rmse = ', str(rmse_pred_vs_actual)]))
plt.xlabel('Actual Sale Price')
plt.ylabel('Predicted Sale Price')
plt.plot([min(y_test_split), max(y_test_split)], [min(y_test_split), max(y_test_split)])
plt.tight_layout()
def predicted_vs_actual_sale_price_xgb(self, xgb_params, x_train, y_train, seed, title_name):
# Split the training data into an extra set of test
x_train_split, x_test_split, y_train_split, y_test_split = train_test_split(x_train, y_train)
dtrain_split = xgb.DMatrix(x_train_split, label=y_train_split)
dtest_split = xgb.DMatrix(x_test_split)
res = xgb.cv(xgb_params, dtrain_split, num_boost_round=1000, nfold=4, seed=seed, stratified=False,
early_stopping_rounds=25, verbose_eval=10, show_stdv=True)
best_nrounds = res.shape[0] - 1
print(np.shape(x_train_split), np.shape(x_test_split), np.shape(y_train_split), np.shape(y_test_split))
gbdt = xgb.train(xgb_params, dtrain_split, best_nrounds)
y_predicted = gbdt.predict(dtest_split)
plt.figure(figsize=(10, 5))
plt.scatter(y_test_split, y_predicted, s=20)
rmse_pred_vs_actual = self.rmse(y_predicted, y_test_split)
plt.title(''.join([title_name, ', Predicted vs. Actual.', ' rmse = ', str(rmse_pred_vs_actual)]))
plt.xlabel('Actual Sale Price')
plt.ylabel('Predicted Sale Price')
plt.plot([min(y_test_split), max(y_test_split)], [min(y_test_split), max(y_test_split)])
plt.tight_layout()
def ex2():
x = np.linspace(-10, 10)
# "--" = dashed line
plt.plot(x, np.sin(x), "--", label="sinus")
plt.plot(x, np.cos(x), label="cosinus")
# Show the legend using the labels above
plt.legend()
# The trick here is we have to make another plot on top of the two others.
pi2 = np.pi/2
# Find B such that (-B * pi/2) >= -10 > ((-B-1) * pi/2), i.e. the
# first multiple of pi/2 higher than -10.
b = pi2*int(-10.0/pi2)
# x2 is all multiples of pi/2 between -10 and 10.
x2 = np.arange(b, 10, pi2)
# "b." = blue dots
plt.plot(x2, np.sin(x2), "b.")
plt.show()
def plot_inf_res(df, symbols=[], plot_top=0, time_shift=0):
if len(symbols) > 0:
df = df.loc[symbols]
if plot_top > 0:
idx = df.groupby(level=0)['INFORMATION_SURPLUS_PCT'].max().sort_values(ascending=False).index
df = df.reindex(index=idx, level=0)[0:(time_shift+1)*plot_top]
grouped = df.groupby(level=0)
ax = plt.figure()
first = True
for i, group in grouped:
if first:
ax = group.plot(x='SHIFT', y='INFORMATION_SURPLUS_PCT', label=str(i))
first = False
else:
group.plot(ax=ax, x='SHIFT', y='INFORMATION_SURPLUS_PCT', label=str(i))
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=1.0)
ax.set_xlabel('Time-shift of sentiment data (days) with financial data')
ax.set_ylabel('Information Surplus %')
def visualize_bin_list(self, bin_list, path):
"""
Will create a histogram of all bin_list entries and save it to the specified path
"""
# TODO use savelogic here
for jj, bin_entry in enumerate(bin_list):
hist_x, hist_y = self._traceanalysis_logic.calculate_histogram(bin_entry, num_bins=50)
pb.plot(hist_x[0:len(hist_y)], hist_y)
fname = 'bin_' + str(jj) + '.png'
savepath = os.path.join(path, fname)
pb.savefig(savepath)
pb.close()
# =========================================================================
# Connecting to GUI
# =========================================================================
# absolutely not working at the moment.
def stat_personal(self):
if not os.path.exists(self.file_path + self.ip.ip):
os.mkdir(self.file_path + self.ip.ip)
print('make dir %s' % self.ip.ip)
try:
items = self.ip.info_set.count()
except:
return 0
my_info = Info.objects.filter(ip = self.ip).order_by('date')
dates = list(range(len(my_info)))
bmis = [info.get_bmi() for info in my_info]
pl.figure('my', figsize = (5.2, 2.8), dpi = 100)
pl.plot(dates, bmis, '*-', color = '#20b2aa', linewidth = 1.5)
pl.ylabel(u'BMI?', fontproperties = zhfont)
pl.ylim(0.0, 50.0)
pl.savefig(self.file_path + self.ip.ip + '/my.jpg')
pl.cla()
return items
plot_recallPrecision.py 文件源码
项目:breaking_cycles_in_noisy_hierarchies
作者: zhenv5
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def _plotFMeasures(fstepsize=.1, stepsize=0.0005, start = 0.0, end = 1.0):
"""Plots 10 fmeasure Curves into the current canvas."""
p = sc.arange(start, end, stepsize)[1:]
for f in sc.arange(0., 1., fstepsize)[1:]:
points = [(x, _fmeasureCurve(f, x)) for x in p
if 0 < _fmeasureCurve(f, x) <= 1.5]
try:
xs, ys = zip(*points)
curve, = pl.plot(xs, ys, "--", color="gray", linewidth=0.8) # , label=r"$f=%.1f$"%f) # exclude labels, for legend
# bad hack:
# gets the 10th last datapoint, from that goes a bit to the left, and a bit down
datapoint_x_loc = int(len(xs)/2)
datapoint_y_loc = int(len(ys)/2)
# x_left = 0.05
# y_left = 0.035
x_left = 0.035
y_left = -0.02
pl.annotate(r"$f=%.1f$" % f, xy=(xs[datapoint_x_loc], ys[datapoint_y_loc]), xytext=(xs[datapoint_x_loc] - x_left, ys[datapoint_y_loc] - y_left), size="small", color="gray")
except Exception as e:
print e
#colors = "gcmbbbrrryk"
#colors = "yyybbbrrrckgm" # 7 is a prime, so we'll loop over all combinations of colors and markers, when zipping their cycles
4(improved-7).py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 39
收藏 0
点赞 0
评论 0
def show_results(self):
pl.plot(self.t1, self.n_A1, 'b--', label='A1: Time Step = 0.05')
pl.plot(self.t1, self.n_B1, 'b', label='B1: Time Step = 0.05')
pl.plot(self.t2, self.n_A2, 'g--', label='A2: Time Step = 0.1')
pl.plot(self.t2, self.n_B2, 'g', label='B2: Time Step = 0.1')
pl.plot(self.t1, self.n_A1_true, 'r--', label='True A1: Time Step = 0.05')
pl.plot(self.t1, self.n_B1_true, 'r', label='True B1: Time Step = 0.05')
pl.plot(self.t2, self.n_A2_true, 'c--', label='True A2: Time Step = 0.1')
pl.plot(self.t2, self.n_B2_true, 'c', label='True B2: Time Step = 0.1')
pl.title('Double Decay Probelm-Approximation Compared with True in Defferent Time Steps')
pl.xlim(0.0, 0.1)
pl.ylim(0.0, 100.0)
pl.xlabel('time ($s$)')
pl.ylabel('Number of Nuclei')
pl.legend(loc='best', shadow=True, fontsize='small')
pl.grid(True)
pl.savefig("computational_physics homework 4(improved-7).png")
7 code plus.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 36
收藏 0
点赞 0
评论 0
def show(self):
# pl.semilogy(self.theta, self.omega)
# , label = '$L =%.1f m, $'%self.l + '$dt = %.2f s, $'%self.dt + '$\\theta_0 = %.2f radians, $'%self.theta[0] + '$q = %i, $'%self.q + '$F_D = %.2f, $'%self.F_D + '$\\Omega_D = %.1f$'%self.Omega_D)
pl.plot(self.theta_phase ,self.omega_phase, '.', label = '$t \\approx 2\\pi n / \\Omega_D$')
pl.xlabel('$\\theta$ (radians)')
pl.ylabel('$\\omega$ (radians/s)')
pl.legend()
# pl.text(-1.4, 0.3, '$\\omega$ versus $\\theta$ $F_D = 1.2$', fontsize = 'x-large')
pl.title('Chaotic Regime')
# pl.show()
# pl.semilogy(self.time_array, self.delta)
# pl.legend(loc = 'upper center', fontsize = 'small')
# pl.xlabel('$time (s)$')
# pl.ylabel('$\\Delta\\theta (radians)$')
# pl.xlim(0, self.T)
# pl.ylim(float(input('ylim-: ')),float(input('ylim+: ')))
# pl.ylim(1E-11, 0.01)
# pl.text(4, -0.15, 'nonlinear pendulum - Euler-Cromer method')
# pl.text(10, 1E-3, '$\\Delta\\theta versus time F_D = 0.5$')
# pl.title('Simple Harmonic Motion')
pl.title('Chaotic Regime')
6 code.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 28
收藏 0
点赞 0
评论 0
def show_complex(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 16,
}
pl.title('The Trajectory of Tageted Baseball\n with air flow in adiabatic model', fontdict = font)
pl.plot(self.x, self.y, label = '$v_0 = %.5f m/s$'%self.v0 + ', ' + '$\\theta = %.4f \degree$'%self.theta)
pl.xlabel('x $m$')
pl.ylabel('y $m$')
pl.xlim(0, 300)
pl.ylim(-100, 20)
pl.grid()
pl.legend(loc = 'upper right', shadow = True, fontsize = 'small')
pl.text(15, -90, 'scan to approach the minimum velocity and corresponding launching angle', fontdict = font)
pl.show()
6 code.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def show_simple(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 16,
}
pl.title('The Trajectory of Tageted Baseball\n with air flow in adiabatic model', fontdict = font)
pl.plot(self.x, self.y, label ='$\\alpha = %.0f \degree$'%self.alpha)
pl.xlabel('x $m$')
pl.ylabel('y $m$')
pl.xlim(0, 400)
pl.ylim(-100, 200)
pl.grid()
pl.legend(loc = 'upper right', shadow = True, fontsize = 'medium')
pl.text(5, -80, 'trojectories varing with angles of wind', fontdict = font)
pl.show()
5 code 1.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def show_results(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 14,
}
pl.plot(self.x, self.y, 'c', label='firing angle = 45°')
pl.title('The Trajectory of a Cannon Shell', fontdict = font)
pl.xlabel('x (k$m$)')
pl.ylabel('y ($km$)')
pl.xlim(0, 60)
pl.ylim(0, 20)
pl.grid(True)
pl.legend(loc='upper right', shadow=True, fontsize='large')
pl.text(41, 16, 'Only with air drag', fontdict = font)
pl.show()
5 code 2.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 36
收藏 0
点赞 0
评论 0
def show_results(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 12,
}
pl.plot(self.x, self.y, 'c', label='firing angle = 45°')
pl.title('The Trajectory of a Cannon Shell', fontdict = font)
pl.xlabel('x (k$m$)')
pl.ylabel('y ($km$)')
pl.xlim(0, 60)
pl.ylim(0, 20)
pl.grid(True)
pl.legend(loc='upper right', shadow=True, fontsize='large')
pl.text(34, 16, ' With both air drag and \n reduced air density-isothermal', fontdict = font)
pl.show()
5 code 4.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 31
收藏 0
点赞 0
评论 0
def show_results(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 12,
}
pl.plot(self.x, self.y, 'c', label='firing angle = 45°')
pl.title('The Trajectory of a Cannon Shell', fontdict = font)
pl.xlabel('x (k$m$)')
pl.ylabel('y ($km$)')
pl.xlim(0, 60)
pl.ylim(0, 20)
pl.grid(True)
pl.legend(loc='upper right', shadow=True, fontsize='large')
pl.text(34.5, 16, ' With air drag and the \n dependence of g on altitude', fontdict = font)
pl.show()
final code23.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 33
收藏 0
点赞 0
评论 0
def plot1(self):
# fig = pl.figure(figsize=(8,8))
ax1 = fig.add_subplot(111, projection='3d')
ax1.scatter(self.x,self.y,self.z,c='k',s=10,marker='.')
# pl.plot(self.x, self.y,'ok')
# pl.plot(self.x, self.y,'c')
# ???
ax1.set_zlabel('$z$')
ax1.set_ylabel('$y$')
ax1.set_xlabel('$x$')
ax1.set_title('Random walk in three dimensions')
# def plot2(self):
## fig = pl.figure(figsize=(8,8))
# ax = fig.add_subplot(111, projection='3d')
# ax1.scatter(self.x,self.y,self.z,c='r',s=100,marker='o')
final code18.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def plot(self):
pl.plot(self.n,self.r2ave,'.c')
pl.plot(self.n,self.r2ave_fit,'k')
# pl.ylim(0,100)
pl.ylim(0,40)
# for i in range(self.M):
# self.x = 0
# for j in range(self.N):
# for k in range(j):
# rnd = random.random()
# rnd = random.random()
# if rnd > 0.5:
# self.x +=1
# else:
# self.x -=1
## print(self.x)
# self.x2 += math.pow(self.x,2)
## print(self.x2)
# self.x2ave = self.x2/self.M
# print(self.x2ave)
## return self.x2ave
final code16.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 42
收藏 0
点赞 0
评论 0
def plot(self):
pl.plot(self.n,self.r2ave,'.c')
pl.plot(self.n,self.r2ave_fit,'k')
pl.ylim(0,100)
# for i in range(self.M):
# self.x = 0
# for j in range(self.N):
# for k in range(j):
# rnd = random.random()
# rnd = random.random()
# if rnd > 0.5:
# self.x +=1
# else:
# self.x -=1
## print(self.x)
# self.x2 += math.pow(self.x,2)
## print(self.x2)
# self.x2ave = self.x2/self.M
# print(self.x2ave)
## return self.x2ave
final code20.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 24
收藏 0
点赞 0
评论 0
def plot(self):
pl.plot(self.n,self.r2ave,'.c')
pl.plot(self.n,self.r2ave_fit,'k')
pl.ylim(0,100)
# for i in range(self.M):
# self.x = 0
# for j in range(self.N):
# for k in range(j):
# rnd = random.random()
# rnd = random.random()
# if rnd > 0.5:
# self.x +=1
# else:
# self.x -=1
## print(self.x)
# self.x2 += math.pow(self.x,2)
## print(self.x2)
# self.x2ave = self.x2/self.M
# print(self.x2ave)
## return self.x2ave