Хорошо, я не знаю, сформулировал ли я это плохо или что-то в этом роде, но я не могу найти ничего похожего на мою проблему.Как получить индексы для случайным образом выбранных строк в списке (Python)
Итак, у меня есть 2D-список, каждая строка представляет случай и каждый столбец, представляющий функцию (для машинного обучения). Кроме того, у меня есть отдельный список (столбец) в качестве меток.
Я хочу случайным образом выбирать строки из 2D-списка для обучения классификатора при использовании остальных для проверки точности. Таким образом, я хочу знать все индексы строк, которые я использовал для обучения, чтобы избежать повторений.
Я думаю, что есть 2 части вопроса: 1) как случайный образом выбрать 2) как получить индексы
снова я понятия не имею, почему я не могу найти хорошую информацию здесь путем поиска (возможно, Я просто сосать)
Извините, что я до сих пор новичок в сообществе, поэтому, возможно, я сделал ошибку формата. Если у вас есть какие-либо предложения, пожалуйста, дайте мне знать.
Вот часть кода, я использую, чтобы получить 2D-лист
#273 = number of cases
feature_list=[[0]*len(mega_list)]*273
#create counters to use for index later
link_count=0
feature_count=0
#print len(mega_list)
for link in url_list[:-1]:
#setup the url
samp_url='http://www.mtsamples.com'+link
samp_url = "%20".join(samp_url.split())
#soup it for keywords
samp_soup=BeautifulSoup(urllib2.urlopen(samp_url).read())
keywords=samp_soup.find('meta')['content']
keywords=keywords.split(',')
for keys in keywords:
#print 'megalist: '+ str(mega_list.index(keys))
if keys in mega_list:
feature_list[link_count][mega_list.index(keys)]=1
mega_list: список всех ключевых слов
feature_list: список 2D, с любым словом в mega_list, что конкретного ячейка установлена в 1, в противном случае 0
эй! Да, у меня есть зависимая переменная, просто не упомянутая в коде, который я предоставил. Я думаю, что я дам этому алго попробовать! Отчитается назад ха-ха. Благодаря! – JChao
Хорошо, присмотревшись, это может не понадобиться. Я использую Наивный Байес для мульти Номинального приступе, похоже {CLF = MultinomialNB() >>> clf.fit (X, у) MultinomialNB (альфа = 1,0, class_prior = None, fit_prior = True) } выполнит эту работу (это пример с сайта). Я не совсем уверен, хотя, и я чувствую, что этот поток начинает отклоняться от оригинальной темы lol – JChao