from sklearn import neighbors, linear_model
import numpy as np


def train_predict():
    X = [[1, 1], [2, 2.5], [2, 6.8], [4, 7]]
    y = [1, 2, 3, 4]


    pac_clf = linear_model.PassiveAggressiveClassifier()#loss

    per_clf = linear_model.Perceptron()

    pac_clf.fit(X, y)

    per_clf.fit(X,y)

    #print(sgd_clf.predict([[6, 9]]))

    X.append([6, 9])
    y.append(5)


    X1 = X[-1:]
    y1 = y[-1:]

    classes = np.unique(y)

    pac_clf.partial_fit(X1, y1, classes=classes)

    per_clf.partial_fit(X1,y1, classes=classes)

    print(pac_clf.predict([[6,9]]))

    print(per_clf.predict([[6,9]]))


if __name__ == "__main__":
    train_predict()  