Define the fitness function using RF
def fitness_function(features):
if not features:
return 0.0
Create individual classifiers
clf= RandomForestClassifier(n_estimators=52,max_depth=20, criterion="gini",random_state=777)
selected_feature_indices = [list(X.columns).index(feature) for feature in features]
selected_features = X_train[:, selected_feature_indices]
Predictions
clf.fit(selected_features, y_train) `your text`
y_pred = clf1.predict(X_test[:, selected_feature_indices]) `your text`
return accuracy_score(y_test, y_pred)
Lists to store progress data
iteration_values = []
accuracy_values = [] your text
PSO parameters
inertia_weight = 0.5 your text
c1, c2 = 2.0, 2.0 your text