現在、sklearnのRandomForestを使った分類器を作成しています。
分類器について
ラベル:ユーザの年と性別のフラグ
data:文書
文書を入れると分類され結果、文書のユーザと性別がわかるようにしたいです。
学習は可能なのですが、評価方法がわからず困っております。
評価方法
accuracy_scoreを使ったシンプルなものを検討していますが、実際に実行すると
ValueError: multiclass-multioutput is not supported
と出てしまい、前に進めません。
ソース
def machine_learning(db): dates =[] labels = [] dictionary=get_dictionary(db) for age in range(1,3): for gender_flag in range(0,1): descriptions = [] for data in db.profile.find({"age": age*10,"gender": gender_flag}).limit(1000): descriptions.append(data['description'].encode('utf-8')) tagger = MeCab.Tagger('-Ochasen') for description in descriptions: words=[] nodes = tagger.parseToNode(description) while nodes: if nodes.feature.split(',')[0] == '名詞': word = nodes.surface.decode('utf-8') words.append(json.dumps(word, ensure_ascii=False)) nodes = nodes.next labels.append([age,gender_flag]) tmp = dictionary.doc2bow(words) dense = list(gensim.matutils.corpus2dense([tmp], num_terms=len(dictionary)).T[0]) dates.append(dense) data_train_s, data_test_s, label_train_s, label_test_s = train_test_split(dates, labels, test_size=0.4) estimator = RandomForestClassifier(random_state=777) estimator.fit(data_train_s, label_train_s) predicted = estimator.predict(data_test_s) # get the accuracy print accuracy_score(np.ndarray(label_test_s), predicted)
どうか助けてください。。。。
この問題で4時間ぐらい悩んでいます。
また、マルチラベルで他にいい方法があれば提案して頂けたら嬉しいです。
よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/11 07:25
2018/01/11 07:59
退会済みユーザー
2018/01/30 12:42