将使用sklearn创建的合成数据集导出到csv

时间:2016-12-02 09:36:27

标签: python csv numpy scikit-learn

我需要创建一个合成数据集,因为我必须为我的大学论文修复一个聚类算法,所以我需要用一个小数据集来测试算法。 我设法用sklearn make_classification创建它,但程序输入一个包含数据集功能的csv文件。 有谁知道如何直接在csv中创建合成数据集,或者将使用sklearn创建的数据集导出到csv文件中?

1 个答案:

答案 0 :(得分:2)

您可以使用numpy.savetxt将numpy数组导出到csv文件。

此示例使用BytesIO实例作为输出,您将改为使用文件名。

In [1]: import io

In [2]: import numpy as np

In [3]: x = np.random.randn(5, 2)

In [4]: x
Out[4]:
array([[-0.13114465, -0.72491874],
       [-0.08375738, -1.23769691],
       [-0.5583027 , -0.24086865],
       [ 0.04590227, -0.6582806 ],
       [-0.21433652, -0.78924272]])

In [5]: buf = io.BytesIO()

In [6]: np.savetxt(buf, x, delimiter=',')

In [7]: print(buf.getvalue().decode())
-1.311446488105691699e-01,-7.249187409818331762e-01
-8.375738326459475358e-02,-1.237696910731503452e+00
-5.583026953882282983e-01,-2.408686450946319058e-01
4.590226685041418758e-02,-6.582805971999975414e-01
-2.143365241670896482e-01,-7.892427231682124233e-01