from warnings import filterwarnings filterwarnings("ignore") import h5py import numpy as np import pandas as pd #f=h5py.File('/content/drive/MyDrive/inputCONFIG02h2NOISE3-5000.mat','r') #mat=scipy.io.loadmat('/content/drive/MyDrive/inputCONFIG02h2NOISE3-5000.mat') with h5py.File('inputCONFIG02h2NOISE3-5000.mat','r') as file: for key in file.keys(): print (key) data=file['Rdnoise'] [:] print(data) print (len(data)) data_frame=pd.DataFrame(data) #data_frame.to_csv('data_frame_KH.csv') #--------------------------------------------------------------------------- import pandas as pd # تعداد کل فیچرها num_features = 12012 # تعداد فیچرها در هر دسته features_per_category = 1000 # ایجاد لیست جدید برای نام ستون‌ها new_column_names = [] # حروف الفبا برای دسته‌بندی categories = 'abcdefghijkm' # تولید نام‌های جدید for letter in categories: for i in range(0, features_per_category + 1): new_column_names.append(f"{letter}{i}") # اطمینان از اینکه تعداد نام‌های جدید مطابق با تعداد ستون‌هاست new_column_names = new_column_names[:num_features] # تغییر نام ستون‌ها data_frame.columns = new_column_names #----------------------------------------------------------------------- import scipy.io import h5py import numpy as np import pandas as pd #f=h5py.File('/content/drive/MyDrive/inputCONFIG02h2NOISE3-5000.mat','r') #mat=scipy.io.loadmat('/content/drive/MyDrive/inputCONFIG02h2NOISE3-5000.mat') with h5py.File('targetCONFIG02h2NOISE3-5000.mat','r') as file: for key in file.keys(): print (key) data=file['re'] [:] print(data) print (len(data)) data_frame_T=pd.DataFrame(data) #data_frame.to_csv('data_frame_KH.csv') #--------------------------------------------------------------------------------------- import pandas as pd # تعداد کل فیچرها num_features = 116 # تعداد فیچرها در هر دسته features_per_category = 116 # ایجاد لیست جدید برای نام ستون‌ها new_column_names = [] # حروف الفبا برای دسته‌بند categories = 't' # تولید نام‌های جدید for letter in categories: for i in range(1, features_per_category + 1): new_column_names.append(f"{letter}{i}") # اطمینان از اینکه تعداد نام‌های جدید مطابق با تعداد ستون‌هاست new_column_names = new_column_names[:num_features] # تغییر نام ستون‌ها data_frame_T.columns = new_column_names #--------------------------------------------------------------------------- from sklearn.neighbors import KNeighborsClassifier from mlxtend.feature_selection import SequentialFeatureSelector as SFS # Assuming data_frame and data_frame_T are already defined X = data_frame.iloc[:, 0:8002] knn = KNeighborsClassifier() # y = data_frame_T[column] # Loop over each column in data_frame_T for column in data_frame_T.columns[80:116]: y = data_frame_T[column] sfs = SFS(knn, k_features=50, forward=True, floating=False, verbose=2, scoring='accuracy', cv=0) sfs = sfs.fit(X, y) print(f'Results for target column: {column}') print('Best accuracy score: %.2f' % sfs.k_score_) print('Best subset (indices):', sfs.k_feature_idx_) print('Best subset (corresponding names):', sfs.k_feature_names_) print('-' * 50)