def _extract_features(self):
for parsed_line in self.parsed_lines:<EOL><INDENT>if parsed_line.get('<STR_LIT>') == '<STR_LIT>':<EOL><INDENT>result = self._parse_auth_message(parsed_line['<STR_LIT:message>'])<EOL>if '<STR_LIT>' in result:<EOL><INDENT>self.features['<STR_LIT>'].append(result['<STR_LIT>'])<EOL>if result['<STR_LIT>'] not in self.ips_to_pids:<EOL><INDENT>self.ips_to_pids[result['<STR_LIT>']] = [parsed_line['<STR_LIT>']]<EOL><DEDENT>else:<EOL><INDENT>if parsed_line['<STR_LIT>'] not in self.ips_to_pids[result['<STR_LIT>']]:<EOL><INDENT>self.ips_to_pids[result['<STR_LIT>']].append(parsed_line['<STR_LIT>'])<EOL><DEDENT><DEDENT><DEDENT><DEDENT><DEDENT>
Extracts and sets the feature data from the log file necessary for a reduction