python - 如何获取列表中随机选择的行的索引(Python)

标签 python search random machine-learning indices

好吧,我不知道我是否措辞不好或者什么,但我似乎无法在这里找到任何类似的内容来解决我的问题。

所以我有一个二维列表,每行代表一个案例,每列代表一个特征(用于机器学习)。此外,我有一个单独的列表(列)作为标签。

我想从 2D 列表中随机选择行来训练分类器,同时使用其余行来测试准确性。因此,我希望能够知道用于训练的所有行索引,以避免重复。

我认为问题有两部分: 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:二维列表,对于 mega_list 中的任何单词,该特定单元格设置为 1,否则设置为 0

最佳答案

我会将数据存储在 pandas 数据框中,而不是二维列表中。如果我正确理解您的数据,您可以这样做:

import pandas as pd

df = pd.DataFrame(feature_list, columns = mega_list)

我没有看到任何因变量的提及,但我假设您有一个因变量,因为您提到了分类器算法。如果您的因变量称为“Y”并且采用列表格式,其索引与您的特征相符,那么此代码将适合您:

from sklearn import cross_validation

x_train, x_test, y_train, y_test = cross_validation.train_test_split(
    df, Y, test_size=0.8, random_state=0)

关于python - 如何获取列表中随机选择的行的索引(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28706223/

相关文章:

python - 如何从网站上的最后一个表中抓取数据

php - Jquery, PHP, MySQL Live Search 某些结果出现中断,如何避免?

python - 使用 SciPy 或 NumPy 生成具有指定权重的离散随机变量

python - 收集两列数据

python - 在python中更新字典

python - connman 连接到服务 : DBus UnknownMethod

python - 如何在django-sphinx下自动重建Sphinx索引?

html - 我可以在元标记中使用 HTML 字符实体吗?

algorithm - 我们使用现有的随机函数生成另一个随机函数

c++ - 用随机数创建一个 vector