CommencezCommencez gratuitement

Transformer une heuristique en classifieur

Vous êtes surpris de voir à quel point les heuristiques peuvent être utiles. Vous décidez donc de traiter l'heuristique selon laquelle « trop de ports uniques, c'est suspect » comme un classifieur à part entière. Pour y arriver, vous appliquez un seuil au nombre de ports uniques par source en utilisant la moyenne observée chez les ordinateurs source malveillants — ceux pour lesquels l'étiquette est True. L'ensemble de données est déjà chargé et séparé en entraînement et test, vous avez donc en mémoire les objets X_train, X_test, y_train et y_test. Vos importations incluent accuracy_score() et numpy sous le nom np. Précision : vous n'allez pas entraîner un classifieur de scikit-learn dans cet exercice; vous allez plutôt définir explicitement votre propre règle de classification !

Cette activité fait partie du cours

Concevoir des flux de travail Machine Learning en Python

Voir le cours

Instructions de l’exercice

  • Sous-sélectionnez tous les hôtes malveillants de X_train pour former un nouvel ensemble de données X_train_bad. Notez que y_train est un tableau booléen.
  • Calculez la moyenne de la colonne unique_ports pour les hôtes malveillants et enregistrez-la dans avg_bad_ports.
  • Considérez maintenant un classifieur qui prédit positif tout exemple dont la valeur unique_ports dépasse avg_bad_ports. Enregistrez les prédictions de ce classifieur sur les données de test dans une nouvelle variable, pred_port.
  • Calculez la justesse de ce classifieur sur les données de test avec accuracy_score().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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, ____))
Modifier et exécuter le code