Это мой код:
lof=LocalOutlierFactor(n_neighbors=30,contamination=10/110)
y_pred = lof.fit_predict(X)
xxx, yyy = np.meshgrid(np.linspace(3, 30, 50), np.linspace(0, 10, 50))
Z = lof._decision_function(np.c_[xxx.ravel(), yyy.ravel()])
Z = Z.reshape(xxx.shape)
con=0.09
tau_lof = mquantiles(Z,con)
plt.figure()
c_0 = plt.contour(xxx, yyy, Z, colors='red', levels = tau_lof, linewidths=1)
plt.clabel(c_0, inline=1, fontsize=10, fmt={tau_lof[0]: str(con)})
a = plt.scatter(X[:100, 0], X[:100, 1], c='blue', edgecolor='k', s=40) ## plot inlier
b = plt.scatter(X[100:, 0], X[100:, 1], c='red', edgecolor='k', s=40) ## plot outlier
plt.axis('tight')
plt.xlim((5, 27.5))
plt.ylim((-1, 7.5))
plt.legend([a, b], ["normal observations","abnormal observations"], bbox_to_anchor=(1.05, 1.0), loc='upper left')
plt.show()
Я могу получить все точки для построения графика, но не могу получить ни одной контурной линии, представляющей 9-й процентиль на графике. Я знаю, что это как-то связано с уровнями и фмт. Но я новичок в этом и не уверен, как это исправить График