def get_rotated_image(self, angle): # изображение поворачивается из исходной позиции if self._angle == 90: return helper.transpose(self._edited_image , Image.ROTATE_90) elif self._angle == 180: return helper.transpose(self._edited_image , Image.ROTATE_180) elif self._angle == 270: return helper.transpose(self._edited_image , Image.ROTATE_270)
def correlation(X, Y, D): '''Calculates phi-coefficient as correlation, since X and Y are assumed to be binary variables. Arguments: X -- first variable Y -- second variable D -- dataset ''' f = contingency_table(X, Y, D) numerator = f[1][1] * f[0][0] - f[0][1] * [1][0] f0_ = sum(f[0]) f1_ = sum(f[1]) f_0 = sum(transpose(f)[0]) f_1 = sum(transpose(f)[1]) denominator = math.sqrt(f0_ * f_0 * f1_ * f_1) try: result = numerator / denominator except ZeroDivisionError: result = None return result
def added_value(X, Y, D): '''Calculates the Added Value of rule X -> Y in D. Arguments: X -- first subset of the itemset Y -- second subset of the itemset D -- dataset ''' f = contingency_table(X, Y, D) N = len(D) result = f[1][1] / sum(f[1]) result -= sum(transpose(f)[1]) / N return result
def conviction(X, Y, D): '''Calculates the lift of pattern of rule X -> Y in D. Arguments: X -- first subset of the itemset Y -- second subset of the itemset D -- dataset ''' N = len(D) f = contingency_table(X, Y, D) f1_ = sum(f[1]) f_0 = sum(transpose(f)[0]) try: result = (f1_ * f_0) / (N * f[1][0]) except ZeroDivisionError: result = None return result
income = 'low' if row[3] < income_hgh_average else 'high' working = 'low' if row[4] < working_seAk[0] else ( 'high' if row[4] < working_seAk[1] else 'medium') node.vec.append((city, affil, income, working)) return node if __name__ == '__main__': if len(sys.argv) < 2: print("Usage: filter <data_file_name> <list_of_vars_file_name>") sys.exit(1) file_name = sys.argv[1] file_content = helper.read_file(file_name) temp_table = helper.convert_string_to_table(file_content, sep=',') table = create_main_table(temp_table) tableT = helper.transpose(table) update_city_list(tableT[0]) main_node = create_main_node(tableT, table) decision(main_node, []) for rule in if_then_rules: print(rule)
def reduce_data(table, list_of_vars): tableT = helper.transpose(table) reduced_tableT = list(filter(lambda col: col[0] in list_of_vars, tableT)) return helper.transpose(reduced_tableT)