提问人:Septerra 提问时间:10/24/2023 最后编辑:Septerra 更新时间:10/25/2023 访问量:21
功能未出现在绘图上
Function does not appear on the plot
问:
我的图形判别函数没有出现在图上。代码如下
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import KernelDensity
n_samples = 1000
mean_c1 = np.array([0, 0])
cov_c1 = np.array([[1, 0], [0, 1]])
mean_c2 = np.array([4, 4])
cov_c2 = np.array([[1, 0], [0, 1]])
events_c1 = np.random.multivariate_normal(mean_c1, cov_c1, n_samples)
events_c2 = np.random.multivariate_normal(mean_c2, cov_c2, n_samples)
test_events_c1 = np.random.multivariate_normal(mean_c1, cov_c1,
n_samples)
test_events_c2 = np.random.multivariate_normal(mean_c2, cov_c2,
n_samples)
X_train = np.vstack((events_c1, events_c2))
y_train = np.hstack((np.ones(1000), 2*np.ones(1000)))
X_test = np.vstack((test_events_c1, test_events_c2))
y_test = np.hstack((np.ones(1000), 2*np.ones(1000)))
kde_c1 = KernelDensity(kernel='gaussian', bandwidth=0.5).fit(events_c1)
kde_c2 = KernelDensity(kernel='gaussian', bandwidth=0.5).fit(events_c2)
log_density_c1 = kde_c1.score_samples(X_test)
log_density_c2 = kde_c2.score_samples(X_test)
discriminant_scores = log_density_c1 - log_density_c2
predicted_labels = discriminant_scores > 0
error_count = np.sum(predicted_labels != y_test)
error_probability = error_count / len(y_test)
plt.scatter(X_test[predicted_labels == 1, 0], X_test[predicted_labels == 1, 1], label='Classe C1', alpha=0.5)
plt.scatter(X_test[predicted_labels == 0, 0], X_test[predicted_labels == 0, 1], label='Classe C2', alpha=0.5)
我已经计算了所有的判别值,如果你能帮忙的话
答: 暂无答案
评论