Svetlana_Kumchenko

Untitled

Apr 25th, 2023
58
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. import pandas as pd
  2. from pyod.models.knn import KNN
  3. from sklearn.ensemble import IsolationForest
  4.  
  5. RANDOM_STATE = 42
  6.  
  7. df = pd.read_csv('/datasets/sales.csv')
  8. data = df[['Sales', 'Profit']]
  9.  
  10. model = KNN()
  11. model.fit(data)# < напишите код здесь >
  12. estimation_knn = model.fit_predict(data) # < напишите код здесь >
  13. outliers_knn = estimation_knn.sum() # < напишите код здесь >
  14.  
  15. print("Количество аномалий (KNN): ", outliers_knn)
  16.  
  17. isolation_forest = IsolationForest(n_estimators=100, random_state=RANDOM_STATE)# < напишите код здесь >
  18. estimation_iforest = isolation_forest.fit_predict(data)# < напишите код здесь >
  19. estimation_iforest[estimation_iforest==1] = 0 # < напишите код здесь >
  20. estimation_iforest[estimation_iforest==-1] = 1
  21. outliers_iforest = estimation_iforest.sum()
  22. print("Количество аномалий (изоляционный лес): ",outliers_iforest)
  23.  
  24. print("Совпало: ",(estimation_knn & estimation_iforest).sum())
  25.  
Advertisement
Comments
  • # text 0.42 KB | 0 0
    1. Моделью KNN и изоляционным лесом найдите выбросы в данных с переменными 'Sales' и 'Profit'. Выясните, сколько аномалий совпало.
    2. Напечатайте на экране два варианта количества выбросов и число совпавших аномалий. Формат вывода указан в прекоде.
Add Comment
Please, Sign In to add comment