Scikit-learn Combining Classifiers

跑 Classification 的傳統方式是決定一個 Classifier 後,透過 feature 的新增或是參數的調整,來提高準確率;而另外一個方法就是集百家之優來改善預測的結果-Essemble。 今天要介紹的是用 Voting 的方式來決定預測的結果,當然這只是 Essemble 中的其中一種,還有很多其他的方法。 Scikit-learn 的 Voting 分為 hard 與 soft。 Hard 簡單來講就是多數決,例如: # of classifierprediction1class 12class 23class 14class 3 這樣預測結果就會是 class 1。 Soft 這會依照預測出來每個 class 的機率乘上你給的權重(weight)來做定奪,例如:(w1=w2=w3=1) # of classifierclass…

Scikit-learn 的 DictVectorizer 怎麼使用

以往使用的機器學習(Machine Learning)工具都是 LIBSVM,而這次因緣際會用了 Python 的 scikit-learn,卻不知道如何使用自己的 Feature,剛好來記錄一下。 scikit-learn 很強大的內建了幾種 Feature generator,像是 CountVectorizer、TfidfVectorizer...等等。而 DictVectorizer 則可以搭配自己的 Feature ,用法如下: from sklearn.feature_extraction import DictVectorizer vectorizer = DictVectorizer(sparse=False) features = [ {'feature_name_1': 1, 'feature_name_2': 2}, {'feature_name_1': 3, 'feature_name_…