title: Sklearn Voting ensemble with models using different features and testing with k-fold cross validation
body: <p>I have a data frame with 4 different groups of features.</p>
  
  <p>I need to create 4 different models with these four different feature groups and combine them with the ensemble voting classifier. 
  Furthermore, I need to test the classifier using k-fold cross validation. </p>
  
  <p>However, I am finding it difficult to combine different feature sets, voting classifier and k-fold cross validation with functionality available in sklearn. Following is the code that I have so far.</p>
  
  <pre><code>y = df1.index
  x = preprocessing.scale(df1)
  
  SVM = svm.SVC(kernel='rbf', C=1)
  rf=RandomForestClassifier(n_estimators=200)
  ann = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(25, 2), random_state=1)
  neigh = KNeighborsClassifier(n_neighbors=10)
  
  models = list()
  models.append(('facial', SVM))
  models.append(('posture', rf))
  models.append(('computer', ann))
  models.append(('physio', neigh))
  
  ens = VotingClassifier(estimators=models)
  
  cv = KFold(n_splits=10, random_state=None, shuffle=True)
  scores = cross_val_score(ens, x, y, cv=cv, scoring='accuracy')
  </code></pre>
  
  <p>As you can see, this program uses same features for all 4 models. How can I improve this program to achieve my objective?</p>