def hsic(num_features, hsic_data, method='regression'): hsic_lasso = HSICLasso() hsic_lasso.input(hsic_data) if method == 'regression': hsic_lasso.regression(num_features) else: hsic_lasso.classification(num_features) return hsic_lasso.get_features()
def hsic_sel(csv, no_features, method='classification'): hsic_lasso = HSICLasso() hsic_lasso.input(csv) if method == 'regression': hsic_lasso.regression(no_features) else: hsic_lasso.classification(no_features) return hsic_lasso.get_features()
def main(): hsic_lasso = HSICLasso() #out_list = ['c'+str(i) for i in range(1,51)] #print (out_list) hsic_lasso.input("./user_data_new.csv", output_list=[ 'c1', 'c2', 'c3', 'c4', 'c5,', 'c6', 'c7', 'c8', 'c9', 'c10' ]) # ,'c11', 'c12', 'c13', 'c14', 'c15,', 'c16', 'c17', 'c18', 'c19', 'c20','c21', 'c22', 'c23', 'c24', 'c25,', 'c26', 'c27', 'c28', 'c29', 'c30']) hsic_lasso.regression(100, B=50) hsic_lasso.dump() select_index = hsic_lasso.get_index() print(select_index) print(hsic_lasso.get_index_score()) #hsic_lasso.plot_path() print(hsic_lasso.get_features()) X_select = hsic_lasso.X_in[select_index, :] np.savetxt('X_select.txt', X_select, fmt=str('%.5f'), encoding='utf-8')
def HSICLasso(self): df_ = self.data.copy() cols = list(df_.columns)[:-1] + ['class'] df_.columns = cols hsic_lasso = HSICLasso() hsic_lasso.input(self.X_train.values, self.Y_train.values) if self.type == CLASSIFICATION: hsic_lasso.classification(self.num_top_features) elif self.type == REGRESSION: hsic_lasso.regression(self.num_top_features) feats = [ df_.columns[int(val) - 1] for val in hsic_lasso.get_features() ] for feat, imp in zip(feats, hsic_lasso.get_index_score()): features_[feat] = imp self.report_feature_importance(features_, self.num_top_features, label="HSICLasso")
from pyHSICLasso import HSICLasso hsic_lasso = HSICLasso() hsic_lasso.input("SNR-26415.csv") print(hsic_lasso.classification(100)) hsic_lasso.get_features() l = [] l.append(hsic_lasso.get_features()) print(hsic_lasso.get_features()) print(len(l)) temp = 0 hsic_lasso.dump() for i in range(0, len(l)): print(l[i]) temp = temp + 1 print(temp)