Я пытаюсь запустить классификатор «Случайные леса» от Sci -Kit Learn и получение подозрительно плохого производства - менее 1% прогнозов верны. Модель работает намного хуже, чем шанс. Я относительно новичок в Python, ML и Sci-Kit Learn (тройной Whammy), и я обеспокоен тем, что я упускаю что-то фундаментальное, а не нужно точно настроить параметры. Я надеюсь, что больше ветеранов, чтобы просмотреть код и посмотреть, не так ли что -то не так. Электронная таблица, основанная на возникновениях слов - поэтому ввод для каждой строки представляет собой массив, представляющий, сколько раз появляется каждое слово, например, [1 0 0 2 0 ... 1]. Я использую график -резализатор Sci -Kit Learn для выполнения этой обработки - я кормлю его строками, содержащими слова в каждой строке, и он выводит слова (ы) возникновения слов. Если этот ввод не подходит по какой -то причине, то, вероятно, то, где дела идут не так, но я ничего не нашел в Интернете или в документации, предполагающем, что это так. < /P>
< P> Прямо сейчас лес отвечает правильно примерно в 0,5% случаев. Использование одни и те же входные данные с SGD -классификатором дает около 80%, что говорит мне о том, что предварительная обработка и векторизация, которые я делаю, в порядке - это что -то особенное для классификатора RF. Моя первая реакция состояла в том, чтобы искать переживание, но даже когда я запускаю модель на данных < /em>, все равно становится почти все не так. < /P>
Я играл с количеством деревьев и объемом учебных данных, но это, казалось, не сильно изменилось для меня. Я пытаюсь показать только соответствующий код, но могу опубликовать больше, если это полезно. Сначала так публикуйте, так что все мысли и отзывы оцениваются. < /P>
#pull in package to create word occurence vectors for each line
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer(min_df=1,charset_error='ignore')
X_train = vectorizer.fit_transform(train_file)
#convert to dense array, the required input type for random forest classifier
X_train = X_train.todense()
#pull in random forest classifier and train on data
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(n_estimators = 100, compute_importances=True)
clf = clf.fit(X_train, train_targets)
#transform the test data into the vector format
testdata = vectorizer.transform(test_file)
testdata = testdata.todense()
#export
with open('output.csv', 'wb') as csvfile:
spamwriter = csv.writer(csvfile)
for item in clf.predict(testdata):
spamwriter.writerow([item])
Подробнее здесь: https://stackoverflow.com/questions/219 ... -kit-learn
Устранение неисправностей классификатора случайных лесов в Scikit Learn ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Устранение неисправностей фатальной ошибки «Объявления класса не могут быть вложены» в PHP
Anonymous » » в форуме Php - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Снижение точности классификатора обучения scikit после инициализации веса
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-