How to split data into 3 parts in Python - training(70%), validation(15%) and test(15%) and each part have similar target rate?
Split to a validation set it's not implemented in sklearn.
But you could do it by tricky way:

1) At first step you split X and y to train and test set.

2) At second step you split your train set from previous step into validation and smaller train set.

X_train, X_test, y_train, y_test 
    = train_test_split(X, y, test_size=0.7, random_state=123)

X_train, X_val, y_train, y_val 
    = train_test_split(X_train, y_train, test_size=0.5, random_state=123)