Začněte nyníZačněte zdarma

Z heuristiky ke klasifikátoru

Překvapilo tě, jak užitečné mohou heuristiky být. Rozhodneš se proto vzít heuristiku „příliš mnoho unikátních portů je podezřelé" a použít ji přímo jako klasifikátor. Uděláš to tak, že počet unikátních portů na zdrojový počítač prahujete průměrným počtem portů u „špatných" zdrojových počítačů – tedy těch, u nichž je label True. Datová sada je předem načtená a rozdělená na trénovací a testovací část, takže máš v paměti objekty X_train, X_test, y_train a y_test. K dispozici máš také accuracy_score() a numpy jako np. Upozornění: v tomto cvičení nebudeš trénovat klasifikátor ze scikit-learn, ale místo toho si definuješ vlastní klasifikační pravidlo ručně!

Toto cvičení je součástí kurzu

Designing Machine Learning Workflows in Python

Zobrazit kurz

Pokyny k cvičení

  • Z X_train vyber všechny špatné hostitele a vytvoř novou datovou sadu X_train_bad. Nezapomeň, že y_train je boolean pole.
  • Vypočítej průměr sloupce unique_ports pro špatné hostitele a výsledek ulož do avg_bad_ports.
  • Definuj klasifikátor, který jako pozitivní označí každý příklad, jehož hodnota unique_ports překročí avg_bad_ports. Predikce tohoto klasifikátoru na testovacích datech ulož do nové proměnné pred_port.
  • Vyhodnoť přesnost tohoto klasifikátoru na testovacích datech pomocí accuracy_score().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Create a new dataset X_train_bad by subselecting bad hosts
X_train_bad = ____[____]

# Calculate the average of unique_ports in bad examples
avg_bad_ports = np.____(____['unique_ports'])

# Label as positive sources that use more ports than that
pred_port = ____['unique_ports'] > ____

# Print the accuracy of the heuristic
print(____(y_test, ____))
Upravit a spustit kód