Матрица смешения и AU C в одномерном обнаружении аномалий - PullRequest
0 голосов
/ 05 марта 2020

В коде I для файла CSV, который имеет только один столбец. Данные там не так важны, как обычные числа.

# Pandas - data handling
import pandas as pd

# Numpy for mathematical operations
import numpy as np
import pandas as pd

# Scikit learn for the DBSCAN algorithm
from sklearn.cluster import KMeans

# Matplotlib - plots
import matplotlib.pyplot as plt

import seaborn as sns


data=pd.read_csv('C:/Users/data.csv', usecols=["meaning_txt", "valueData_value"], sep=';' )

# Add manually an anomaly value
for i in range(0, 50):
    all_data = all_data.append({all_data.column.max() + np.random.randint(1000, 2000) }, ignore_index=True)

clf = KMeans(n_clusters=2, init='k-means++', max_iter=300, n_init=10, random_state=1)

clf.fit(all_data.column.values.reshape(-1, 1))

all_data_prd = clf.predict(all_data.column.values.reshape(-1, 1))
all_data_prd

plt.scatter(all_data_prd, all_data.valueData_value, c=all_data_prd)

Мой вопрос, возможно ли иметь матрицу смешения и кривую ro c в этом случае, когда у меня только один столбец.

К этому столбцу я добавил несколько аномалий.

Цель:

  1. Добавьте эти аномалии, намного превышающие максимальное значение столбца, и затем проверьте сколько из 50 добавленных аномалий, сколько K-Means находит
  2. Добавьте эти аномалии, которые не намного больше максимального значения столбца, затем проверьте, сколько из 50 добавленных аномалий найдено , В конце я хочу, чтобы Confusion matri c и график ROC видели, насколько хорошо они работают.
...