Machine learning and feature engineering for computer network security