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