Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- from pyod.models.knn import KNN
- from sklearn.ensemble import IsolationForest
- RANDOM_STATE = 42
- df = pd.read_csv('/datasets/sales.csv')
- data = df[['Sales', 'Profit']]
- model = KNN()
- model.fit(data)# < напишите код здесь >
- estimation_knn = model.fit_predict(data) # < напишите код здесь >
- outliers_knn = estimation_knn.sum() # < напишите код здесь >
- print("Количество аномалий (KNN): ", outliers_knn)
- isolation_forest = IsolationForest(n_estimators=100, random_state=RANDOM_STATE)# < напишите код здесь >
- estimation_iforest = isolation_forest.fit_predict(data)# < напишите код здесь >
- estimation_iforest[estimation_iforest==1] = 0 # < напишите код здесь >
- estimation_iforest[estimation_iforest==-1] = 1
- outliers_iforest = estimation_iforest.sum()
- print("Количество аномалий (изоляционный лес): ",outliers_iforest)
- print("Совпало: ",(estimation_knn & estimation_iforest).sum())
Advertisement
Comments
-
- Моделью KNN и изоляционным лесом найдите выбросы в данных с переменными 'Sales' и 'Profit'. Выясните, сколько аномалий совпало.
- Напечатайте на экране два варианта количества выбросов и число совпавших аномалий. Формат вывода указан в прекоде.
Add Comment
Please, Sign In to add comment