cross_validation
module is deprecated. The new module model_selection
has taken its place. So everything you did with cross_validation
. is now available in model_selection
. Then your above code becomes:
feature = [df['age'], df['job'], df['marital'], df['education'], df['default'], df['housing'], df['loan'], df['contact'],
df['month'], df['day_of_week'], df['campaign'], df['pdays'], df['previous'], df['emp.var.rate'], df['cons.price.idx'],
df['cons.conf.idx'], df['euribor3m'], df['nr.employed']]
label = [df['y']]
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
Now as far as declaring the X and y is concerned, why are you wrapping them in a list. Just use them like this:
feature = df[['age', 'job', 'marital', 'education', 'default', 'housing',
'loan', 'contact', 'month', 'day_of_week', 'campaign',
'pdays', 'previous', 'emp.var.rate', 'cons.price.idx',
'cons.conf.idx', 'euribor3m', 'nr.employed']]
label = df['y']
And then you can simply use your code, without changing anything.
# Model Training
x = feature[:]
y = label
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.5)
And for your last question about folds in cross-validation, there are multiple classes in sklearn which does this (depending upon task). Please have a look at:
Which contains fold iterators. And remember, all this is present in model_selection
package.