2016-07-23 7 views

Antwort

0

Als erstes ist zu beachten, dass sklearn (v0.17.1, Stand 24. Juli 2016) nur die DocumentClassification Domäne von mlcomp unterstützt.

Angenommen, Sie haben die z. WebKB dataset, die id=523, zu /somewhere/on/your/computer hat, können Sie den folgenden sklearn Snippet verwenden, um die Datenmenge und trainieren einen Klassifikator zu laden:

from sklearn.datasets import load_mlcomp 
from sklearn.feature_extraction.text import CountVectorizer 
from sklearn.metrics import accuracy_score 
from sklearn.naive_bayes import MultinomialNB 

# Load mlcomp data using sklearn 
train_data = load_mlcomp(name_or_id=523, set_='train', mlcomp_root='/somewhere/on/your/computer') 
test_data = load_mlcomp(name_or_id=523, set_='test', mlcomp_root='/somewhere/on/your/computer') 
# if you had the environment variable `MLCOMP_DATASETS_HOME` set, you wouldn't need to explicitly pass anything to `mlcomp_root` 

# `data` is a standard `Bunch` object, so you can now straightforwardly go on and vectorize the dataset,... 
vec = CountVectorizer(decode_error='replace') 
X_train = vec.fit_transform(train_data.data) 
X_test = vec.transform(test_data.data) 

# ...train a classifier... 
mnb = MultinomialNB() 
mnb.fit(X_train, train_data.target) 

# ...and evaluate it. 
print('Accuracy: {}'.format(accuracy_score(test_data.target, mnb.predict(X_test))))