clf.fit(X, y)

    # 3. Predict.
    if args.dataset == "iris":
        input = [0, 0, 5.0, 1.5]
    elif args.dataset == "wifi":
        input = [-70, 0, 0, 0, -40, 0, 0]
    elif args.dataset == "breast":
        input = [np.random.rand() for _ in range(30)]
    pred = clf.predict([input])[0]
    print("Input: {}".format(input))
    print("Prediction: " + dataset.target_names[pred])

    # 4. Visualize.
    if args.use_sklearn:
        export_graphviz(
            clf,
            out_file="tree.dot",
            feature_names=dataset.feature_names,
            class_names=dataset.target_names,
            rounded=True,
            filled=True,
        )
        print("Done. To convert to PNG, run: dot -Tpng tree.dot -o tree.png")
    else:
        clf.debug(
            list(dataset.feature_names),
            list(dataset.target_names),
            not args.hide_details,
        )