import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import metrics
from sklearn.naive_bayes import GaussianNB

def train_and_predict(train_input_features, train_outputs, prediction_features):
    clf = GaussianNB()
    clf.fit(train_input_features, train_outputs)
    y_pred = clf.predict(prediction_features)
    return y_pred

iris = datasets.load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target,
                                                    test_size=0.3, random_state=0)



y_pred = train_and_predict(X_train, y_train, X_test)


if y_pred is not None:
    print(metrics.accuracy_score(y_test, y_pred))