コード例 #1
0
 def featureSelection(self):
     alg_search = ASSearch(
         classname="weka.attributeSelection.GeneticSearch",
         options=["-Z", "1024", "-G", "20", "-C", "0.6", "-M", "0.3"])
     alg_evaluation = ASEvaluation(
         classname="weka.attributeSelection.CfsSubsetEval",
         options=["-P", "1", "-E", "1"])
     feature_selection = AttributeSelection()
     feature_selection.search(alg_search)
     feature_selection.evaluator(alg_evaluation)
     feature_selection.select_attributes(self.original_data)
     self.selected_features = feature_selection.selected_attributes
     self.num_features = feature_selection.number_attributes_selected
     self.data_selected = feature_selection.reduce_dimensionality(
         self.original_data)
コード例 #2
0
ファイル: class-4.2.py プロジェクト: echavarria/wekamooc
    cls = Classifier(classname=classifier)
    evl = Evaluation(data)
    evl.crossvalidate_model(cls, data, 10, Random(1))
    print("%s: %0.0f%%" % (classifier, evl.percent_correct()))

# wrapper
for classifier in classifiers:
    aseval = ASEvaluation(classname="weka.attributeSelection.WrapperSubsetEval",
                          options=["-B", classifier])
    assearch = ASSearch(classname="weka.attributeSelection.BestFirst",
                        options=[])
    attsel = AttributeSelection()
    attsel.set_evaluator(aseval)
    attsel.set_search(assearch)
    attsel.select_attributes(data)
    reduced = attsel.reduce_dimensionality(data)

    cls = Classifier(classname=classifier)
    evl = Evaluation(reduced)
    evl.crossvalidate_model(cls, reduced, 10, Random(1))
    print("%s (reduced): %0.0f%%" % (classifier, evl.percent_correct()))

# meta-classifier
for wrappercls in classifiers:
    for basecls in classifiers:
        meta = SingleClassifierEnhancer(classname="weka.classifiers.meta.AttributeSelectedClassifier")
        meta.set_options(
            ["-E", "weka.attributeSelection.WrapperSubsetEval -B " + wrappercls,
             "-S", "weka.attributeSelection.BestFirst",
             "-W", basecls])
        evl = Evaluation(data)
コード例 #3
0
ファイル: class-4.2.py プロジェクト: sudhakar2205/wekamooc
    evl = Evaluation(data)
    evl.crossvalidate_model(cls, data, 10, Random(1))
    print("%s: %0.0f%%" % (classifier, evl.percent_correct))

# wrapper
for classifier in classifiers:
    aseval = ASEvaluation(
        classname="weka.attributeSelection.WrapperSubsetEval",
        options=["-B", classifier])
    assearch = ASSearch(classname="weka.attributeSelection.BestFirst",
                        options=[])
    attsel = AttributeSelection()
    attsel.evaluator(aseval)
    attsel.search(assearch)
    attsel.select_attributes(data)
    reduced = attsel.reduce_dimensionality(data)

    cls = Classifier(classname=classifier)
    evl = Evaluation(reduced)
    evl.crossvalidate_model(cls, reduced, 10, Random(1))
    print("%s (reduced): %0.0f%%" % (classifier, evl.percent_correct))

# meta-classifier
for wrappercls in classifiers:
    for basecls in classifiers:
        meta = SingleClassifierEnhancer(
            classname="weka.classifiers.meta.AttributeSelectedClassifier")
        meta.options = \
            ["-E", "weka.attributeSelection.WrapperSubsetEval -B " + wrappercls,
             "-S", "weka.attributeSelection.BestFirst",
             "-W", basecls]