RD.Initialize_Data(file) print('Number of Positive: ', RD.Num_positive) print('Number of Negative: ', RD.Num_negative) nominal_feature = [] data = RD.get_feature() num_samples = data.shape[0] num_features = data.shape[1] num_bins = 100 bounds = np.zeros((num_bins + 1, num_features)) for i in range(num_features): if i not in nominal_feature: bounds[:, i] = np.histogram(data[:, i], bins=num_bins)[1] nf = RD.get_negative_feature() transfer(nf, bounds, num_features, nominal_feature) pf = RD.get_positive_feature() transfer(pf, bounds, num_features, nominal_feature) bayes = BayesianNetwork.from_samples(nf, algorithm='chow-liu') pt = bayes.log_probability(nf).sum() print('Chow-Liu', pt) ''' bayes = BayesianNetwork.from_samples(nf, algorithm='exact-dp') pt = bayes.log_probability(nf).sum() print('Exact Shortest:', pt) bayes = BayesianNetwork.from_samples(nf, algorithm='exact') # Error pt = bayes.log_probability(nf).sum() print('Exact A*', pt)