Используйте алгоритм DBSCAN для данных - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь применить алгоритм DBSCAN на небольшом кадре данных, чтобы сделать прогноз выбросов после. Все столбцы имеют числовые значения, но я получаю одну и ту же ошибку, даже если у меня нет нулевых значений.

Это мой код для вызова алгоритма:

    db = DBSCAN(eps=0.09, min_samples=10).fit(dfc)
    m = loop.LocalOutlierProbability(dfc).fit()
    scores_noclust = m.local_outlier_probabilities
    m_clust = loop.LocalOutlierProbability(dfc, 
    cluster_labels=list(db.labels_)).fit()
    scores_clust = m_clust.local_outlier_probabilities
    print(list(scores_clust))

Я получаю эту ошибку:

ufunc 'isnan' не поддерживается для типов ввода, и входы могут не подвергаться безопасному принуждению к любым поддерживаемым типам в соответствии с кастингом правило '' безопасное ''

Я не понимаю, почему, поскольку у меня нет нулевых значений.

1 Ответ

0 голосов
/ 15 ноября 2018

Судя по вашим комментариям, у вас есть столбец, в котором есть объекты, которые нужно преобразовать в целые числа.

dfc['Idade'] = pd.to_numeric(dfc['Idade']).astype(int)

Недостаточно просто выполнить приведение, просто возвращается новая серия,но он не изменит старый на месте, вы должны сделать это явно.

...