当前位置: 首页>>代码示例>>Python>>正文


Python LinearSVC.classify方法代码示例

本文整理汇总了Python中sklearn.svm.LinearSVC.classify方法的典型用法代码示例。如果您正苦于以下问题:Python LinearSVC.classify方法的具体用法?Python LinearSVC.classify怎么用?Python LinearSVC.classify使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sklearn.svm.LinearSVC的用法示例。


在下文中一共展示了LinearSVC.classify方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import classify [as 别名]
class WSD:

    def __init__(self):
        self.classifier = None
        self.className = "NB"   # other options in the future: MaxEnt, DT
        self.featSets = ["BoW"] # other options: combination of BoW, LocalCol, PoS
        self.training = []      # original train instances  
        self.trainFeatures = [] # train features
        self.test = []          # original test instances
        self.testFeatures = []  # test features

        self.featExtractor = FeatureExtractor()


    def setTrain(self, instances):
        self.training = instances
        self.trainFeatures = []

    def setTest(self, instances):
        self.test = instances
        self.testFeatures = []

    def setClassifier(self, className):
        self.className = className

    def setFeatureSet(self, featSets):
        self.featSets = featSets


    def learn(self):
        # check if variables are initialized
        if len(self.training) == 0:
            sys.stderr.write("No training assigned\n")
            return 0

        if len(self.trainFeatures) == 0:
            sys.stderr.write("[Time] %s : Extracting training features\n" % time.asctime())
            self.trainFeatures = [(self.getFeatures(instance), instance[1]) for (instance) in self.training]
        else:
            sys.stderr.write("[Time] %s : Features already extracted\n" % time.asctime())

        if self.className == "NB":
            sys.stderr.write("[Time] %s : Learning a Naive Bayes classifier\n" % time.asctime())
            self.classifier = nltk.NaiveBayesClassifier.train(self.trainFeatures)

        if self.className == "MaxEnt":
            sys.stderr.write("[Time] %s : Learning a Maximum Entropy classifier\n" % time.asctime())
            #self.classifier = nltk.classify.MaxentClassifier.train(self.trainFeatures, "IIS", trace=3, max_iter=100)
            self.classifier = nltk.classify.MaxentClassifier.train(self.trainFeatures, "IIS", trace=3, max_iter=30)

        if self.className == "DT":
            sys.stderr.write("[Time] %s : Learning a Decission Tree classifier\n" % time.asctime())
            self.classifier = nltk.classify.DecisionTreeClassifier.train(self.trainFeatures, entropy_cutoff=0, support_cutoff=0)

        if self.className == "NB_sklearn":
            sys.stderr.write(
                "[Time] %s : Learning a Multinomial Naive Bayes (scikit-learn) classifier\n" % time.asctime())
            X, y = self.featExtractor.convert2sklearn(self.trainFeatures)
            self.classifier = MultinomialNB()
            self.classifier.fit(X, y)

        if self.className == "DT_sklearn":
            sys.stderr.write(
                "[Time] %s : Learning a Decision Tree (scikit-learn) classifier\n" % time.asctime())
            X, y = self.featExtractor.convert2sklearn(self.trainFeatures)
            self.classifier =  DecisionTreeClassifier(random_state=0)
            self.classifier.fit(X, y)

        if self.className == "MaxEnt_sklearn":
            sys.stderr.write("[Time] %s : Learning a Logistic Regression (scikit-learn) classifier\n" % time.asctime())
            X, y = self.featExtractor.convert2sklearn(self.trainFeatures)
            self.classifier = LogisticRegression()
            self.classifier.fit(X, y)

        if self.className == "SVM_sklearn":
            sys.stderr.write("[Time] %s : Learning a Linear Support Vector Machine (scikit-learn) classifier\n" % time.asctime())
            X, y = self.featExtractor.convert2sklearn(self.trainFeatures)
            self.classifier = LinearSVC(C=1.0)
            self.classifier.fit(X, y)
            
        sys.stderr.write("[Time] %s : Learning finished\n" % time.asctime())
        #self.classifier.show_most_informative_features(20)


    def predict(self):
        if self.classifier == None:
            sys.stderr.write("[ERROR] No classifier learnt")
            return 0
        if len(self.test) == 0:
            sys.stderr.write("[ERROR] No test assigned")
            return 0
        
        if len(self.testFeatures) == 0:
            sys.stderr.write("[Time] %s : Extracting test features\n" % time.asctime())
            self.testFeatures = [(self.getFeatures(instance), instance[1]) for (instance) in self.test]
        else:
            sys.stderr.write("[Time] %s : Test features aldready extracted\n" % time.asctime())

        sys.stderr.write("[Time] %s : Predictions on test\n" % time.asctime())
        if self.className == "MaxEnt_sklearn" or self.className == "SVM_sklearn" or self.className == "DT_sklearn" or self.className == "NB_sklearn":
#.........这里部分代码省略.........
开发者ID:oierldl,项目名称:hap-lap,代码行数:103,代码来源:WSD.py


注:本文中的sklearn.svm.LinearSVC.classify方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。