Skip to content
Snippets Groups Projects
Select Git revision
  • d44fdc3fdd5934dd91aee9197b7c2f5075cbc5f7
  • master default
  • object
  • develop protected
  • private_algos
  • cuisine
  • SMOTE
  • revert-76c4cca5
  • archive protected
  • no_graphviz
  • 0.0.2
  • 0.0.1
12 results

QarBoostv3.py

Blame
  • KNN.py 1.79 KiB
    from sklearn.neighbors import KNeighborsClassifier
    
    from ..Monoview.MonoviewUtils import CustomRandint, BaseMonoviewClassifier
    
    # Author-Info
    __author__ = "Baptiste Bauvin"
    __status__ = "Prototype"  # Production, Development, Prototype
    
    
    class KNN(KNeighborsClassifier, BaseMonoviewClassifier):
    
        def __init__(self, random_state=None, n_neighbors=5,
                     weights='uniform', algorithm='auto', p=2, **kwargs):
            super(KNN, self).__init__(
                n_neighbors=n_neighbors,
                weights=weights,
                algorithm=algorithm,
                p=p
                )
            self.param_names = ["n_neighbors", "weights", "algorithm", "p"]
            self.classed_params = []
            self.distribs = [CustomRandint(low=1, high=10), ["uniform", "distance"],
                             ["auto", "ball_tree", "kd_tree", "brute"], [1, 2]]
            self.weird_strings = {}
            self.random_state=random_state
    
        def canProbas(self):
            """Used to know if the classifier can return label probabilities"""
            return True
    
        def getInterpret(self, directory):
            interpretString = ""
            return interpretString
    
    
    def formatCmdArgs(args):
        """Used to format kwargs for the parsed args"""
        kwargsDict = {"n_neighbors": args.KNN_neigh,
                      "weights":args.KNN_weights,
                      "algorithm":args.KNN_algo,
                      "p":args.KNN_p}
        return kwargsDict
    
    
    def paramsToSet(nIter, randomState):
        paramsSet = []
        for _ in range(nIter):
            paramsSet.append({"n_neighbors": randomState.randint(1, 20),
                              "weights": randomState.choice(["uniform", "distance"]),
                              "algorithm": randomState.choice(["auto", "ball_tree", "kd_tree", "brute"]),
                              "p": randomState.choice([1, 2])})
        return paramsSet