В коде 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 в этом случае, когда у меня только один столбец.
К этому столбцу я добавил несколько аномалий.
Цель:
- Добавьте эти аномалии, намного превышающие максимальное значение столбца, и затем проверьте сколько из 50 добавленных аномалий, сколько K-Means находит
- Добавьте эти аномалии, которые не намного больше максимального значения столбца, затем проверьте, сколько из 50 добавленных аномалий найдено , В конце я хочу, чтобы Confusion matri c и график ROC видели, насколько хорошо они работают.