我正在处理医疗保险索赔数据,并希望识别欺诈索赔。一直在网上阅读,试图找到更好的方法。我在scikit上遇到了以下代码-学习网在
有人知道如何选择离群值吗?代码将它们绘制在一个图形中,但是如果可能的话,我想选择那些异常值。在
我尝试过将y_的预测附加到x数据帧中,但是没有成功。在
print(__doc__)
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import LocalOutlierFactor
np.random.seed(42)
# Generate train data
X = 0.3 * np.random.randn(100, 2)
# Generate some abnormal novel observations
X_outliers = np.random.uniform(low=-4, high=4, size=(20, 2))
X = np.r_[X + 2, X - 2, X_outliers]
# fit the model
clf = LocalOutlierFactor(n_neighbors=20)
y_pred = clf.fit_predict(X)
y_pred_outliers = y_pred[200:]
下面是我尝试过的代码。在
^{pr2}$
前200个数据是内联,后20个是离群值。当你把预测值拟合到X上时,你将得到y_pred中的离群值(-1)或inliner(1)。所以为了得到预测的异常值,你需要得到那些y_pred=-1并在X中得到相应的值
我将y_pred和X组合成一个数组,检查y=-1,如果是,则收集X值。在
然而,这些预测有8个错误(220个中有8个)。这些错误在y_pred[:200]中为-1,在y_pred[201:220]中为1。请注意这些错误。在
相关问题 更多 >
编程相关推荐