Learning Rules From Data