Python: 如何找到分隔两个不同簇的值?

Python: How to find the value that separates 2 different clusters?

我正在应用一种无监督学习算法,使用 OneClass SVM 方法构建异常检测,然后绘制它以可视化它的外观。

我有 2 个簇:一个红色和另一个蓝色。对应于 1(不是异常)的红色簇和值为 -1(异常)的蓝色簇。

我想要的是获得两个集群分离的确切值。

我的代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import preprocessing

data = pd.read_excel('gpmd.xlsx', header = 0)
X = data.loc[:, ['ContextID','BacksGas_Flow_sccm']]

min_max_scaler = preprocessing.MinMaxScaler()
X_minmax = min_max_scaler.fit_transform(X.values[:,[1]])

from sklearn.svm import OneClassSVM

ocsvm = OneClassSVM(nu = 0.05, kernel = 'rbf', gamma = 'scale')
y_ocsvm1 = ocsvm.fit_predict(X_minmax[:,[0]])

plt.scatter(X.values[y_ocsvm1 == 1, 0], X_minmax[y_ocsvm1 == 1, 0], c = 'red', label = 'cluster1')
plt.scatter(X.values[y_ocsvm1 == -1, 0], X_minmax[y_ocsvm1 == -1, 0], c = 'blue', label = 'cluster2')
plt.ticklabel_format(useOffset=False)
plt.yticks(np.arange(min(X_minmax[:,[0]]), max(X_minmax[:,[0]]), 0.03))
plt.legend()
plt.show()

我运行这段代码得到的图是:

仅从图片来看,我们可以粗略地说,红色簇与蓝色簇的分离值介于 0.72 和 0.75 之间。 我想知道是否有办法知道这两个集群分开的确切值。

编辑 1

在下图中,我们可以看到一条绿线(大致)将两个集群分开,我想找到这样一条线及其对应的 y 轴值

@Justice_lords 的建议正是我要找的。 Decision_function() 对我有用。