def compare_with_openml(<EOL>n_datasets=<NUM_LIT:10>, max_dataset_shape=(<NUM_LIT>, <NUM_LIT:200>), tol=<NUM_LIT>, verbose=False<EOL>):
dataset_ids = _list_dataset_ids(max_dataset_shape)<EOL>np.random.shuffle(dataset_ids)<EOL>inconsistencies = False<EOL>successful_runs = <NUM_LIT:0><EOL>for dataset_id in dataset_ids:<EOL><INDENT>print(f"<STR_LIT>", end="<STR_LIT>")<EOL>sys.stdout.flush()<EOL>try:<EOL><INDENT>dataset = _download_dataset(dataset_id)<EOL>if dataset is None:<EOL><INDENT>print(f"<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>compare_results = _compare_metafeatures(dataset, tol, verbose)<EOL>_write_results(compare_results, dataset_id)<EOL>if len(<EOL>compare_results["<STR_LIT>"]<EOL>) > <NUM_LIT:0>:<EOL><INDENT>inconsistencies = True<EOL><DEDENT>successful_runs += <NUM_LIT:1><EOL>print(f"<STR_LIT>")<EOL><DEDENT><DEDENT>except KeyboardInterrupt:<EOL><INDENT>raise<EOL><DEDENT>except (<EOL>openml.exceptions.OpenMLServerException, ValueError<EOL>):<EOL><INDENT>message = traceback.format_exc()<EOL>print(f"<STR_LIT>")<EOL>_write_results(message, dataset_id)<EOL><DEDENT>if successful_runs >= n_datasets:<EOL><INDENT>break<EOL><DEDENT><DEDENT>if inconsistencies:<EOL><INDENT>print(<EOL>f"<STR_LIT>"<EOL>f"<STR_LIT>"<EOL>)<EOL><DEDENT>
Compares the metafeatures computed by metalearn with those of OpenML.
Samples `n_datasets` which are no larger than `max_dataset_shape` for this
comparison.
Parameters:
-----------
n_datasets: int, the number of openml datasets to compare
max_dataset_shape: tuple, the maximum number of rows and columns in the
    openml datasets for which metafeatures will be compared
verbose: bool, passed to Metafeatures.compute. Prints the name of each
    metafeature before it is computed.