У меня есть фрейм данных с 4 различными группами функций.
Мне нужно создать 4 разные модели с этими четырьмя разными группами функций и объединить их с ансамблевым классификатором голосования. Кроме того, мне нужно протестировать классификатор с помощью перекрестной проверки в k-кратном размере.
Однако мне трудно комбинировать различные наборы функций, классификатор голосования и перекрестную проверку k-кратной проверки с функциональностью, доступной в sklearn. Ниже приведен код, который у меня есть на данный момент.
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')
Как видите, эта программа использует одни и те же функции для всех 4 моделей. Как я могу улучшить эту программу для достижения моей цели?