scikit-learn中的简单分类



我正在尝试使用scikit-learn开发一个简单的分类程序。我想拉入我的一组 tsv 值,将它们保存在一个数组中。然后,保存一个 csv,其中包含上面的 tsv 的第一个值,只是一个随机的 1 或 0。因此,它将输出到 csv,如下所示:

tsvValue1, random1or0 eg
string123, 0
foo234, 1

我(几乎)分别拥有所有代码,我的问题是将它们组合在一起。

import numpy as np
from sklearn import metrics,preprocessing,cross_validation
import pandas as p
loadData = lambda f: np.genfromtxt(open(f,'r'), delimiter=' ')
def main():
    traindata = list(np.array(p.read_table('../data/train.tsv'))[:,2])
    testdata = list(np.array(p.read_table('../data/test.tsv'))[:,2])
    y = np.array(p.read_table('../data/train.tsv'))[:,-1]
    X_all = traindata + testdata
    # What can I do below? What can I use to export to csv
    # properly with an appended 1 or 0 value below ?
    from random import randint
    randomInt = randint(0,1) #Inclusive    
    testfile = p.read_csv(
        '../data/test.tsv', sep="t", na_values=['?'], index_col=1)
    pred_df = p.DataFrame(testdata, index=testfile.index, columns=['label'])
    pred_df.to_csv('test.csv')
    print ("your random file has been created..")
if __name__=="__main__":
    main()

更新:输入 tsv 文件的标准格式:

foo1                       foo2   foo3   foo4   fooN
RelevantString123123123
RelevantString456456456
RelevantString789789789

所需结果 csv 的格式:

RelevantString123123123,1
RelevantString456456456,0
RelevantString789789789,1

csv 文件中的第二个 1 或 0 正在疯狂生成。

将文件与内容input.tsv(用制表符分隔):

foo1                       foo2   foo3   foo4   fooN
RelevantString123123123
RelevantString456456456
RelevantString789789789

这显示了如何获取所需的输出:

>>> import numpy as np
>>> import pandas
>>> df = pandas.read_csv('input.tsv', sep='t')
>>> df['value'] = pandas.Series(np.random.randint(2, size=len(df)), index=df.index)
>>> df.to_csv('output.csv', cols=['foo1', 'value'], index=False)

output.csv内容是:

foo1,value
RelevantString123123123,1
RelevantString456456456,0
RelevantString789789789,0

相关内容

  • 没有找到相关文章