代码拉取完成,页面将自动刷新
同步操作将从 Higkoo/Book5_Essentials-of-Probability-and-Statistics 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
###############
# Authored by Weisheng Jiang
# Book 6 | From Basic Arithmetic to Machine Learning
# Published and copyrighted by Tsinghua University Press
# Beijing, China, 2022
###############
import numpy as np
from sklearn.covariance import EmpiricalCovariance
SIGMA = np.array([[5, 3],[3, 5]])/8;
mu = np.array([0, 0]);
R1, R2 = np.random.multivariate_normal(mu, SIGMA, 1000).T
x1 = np.linspace(-3,3,100);
x2 = x1;
[X1,X2] = np.meshgrid(x1,x2);
X = np.array([X1.flatten(), X2.flatten()]).T;
#%% Mahal distance mesh
emp_cov_Xc = EmpiricalCovariance().fit(np.vstack((R1,R2)).T)
mahal_sq_Xc = emp_cov_Xc.mahalanobis(X)
mahal_sq_Xc = mahal_sq_Xc.reshape(X1.shape)
mahal_d_Xc = np.sqrt(mahal_sq_Xc)
#%%
import matplotlib.pyplot as plt
levels = np.linspace(1,5,9);
fig, ax = plt.subplots()
ax.contour(X1, X2, mahal_d_Xc, levels = levels, cmap = 'rainbow')
plt.scatter(R1,R2,s = 6, color = [0.5, 0.5, 0.5])
ax.axhline(y=0, color='k', linewidth = 0.25)
ax.axvline(x=0, color='k', linewidth = 0.25)
ax.set_xlim(-3, 3)
ax.set_ylim(-3, 3)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
plt.axis('scaled')
#%%
intervals = np.linspace(0.9,0.99,10);
from scipy.stats.distributions import chi2
dist_chi2_sqrt = np.sqrt(chi2.ppf(intervals, df=2));
fig, ax = plt.subplots()
ax.contour(X1, X2, mahal_d_Xc, levels = dist_chi2_sqrt, cmap = 'rainbow')
plt.scatter(R1,R2,s = 6, color = [0.5, 0.5, 0.5])
ax.axhline(y=0, color='k', linewidth = 0.25)
ax.axvline(x=0, color='k', linewidth = 0.25)
ax.set_xlim(-3, 3)
ax.set_ylim(-3, 3)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
plt.axis('scaled')
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。