2016-12-02 7 views
-3

エクスポートする必要があります。合成データセットを作成する必要があります。大学の論文のクラスタリングアルゴリズムを修正する必要があるため、小さなデータセットでアルゴリズムをテストする必要があります。 私はsklearn make_classificationでそれを作成することができましたが、プログラムはデータセットの機能を含むcsvファイルを入力します。 誰も私がcsvで直接合成データセットを作成する方法、またはsklearnで作成したものをcsvファイルにエクスポートする方法を知っていますか?sklearnで作成した合成データセットをcsv

+0

使用することは、私はドキュメントを見ましたが、私はあなたの合成データセットは、あなたが 'numpy.savetxt'を使用することができますnumpyの配列である場合、私は私の目的 – Backtrack

+0

をsklearn.model_selection.train_test_splitそれをcsvファイルにエクスポートします。 –

+1

のためにそれを使用することができます方法を理解することはできません – Goyo

答えて

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 
+0

ありがとうございました。しかし、それはうまくいきましたが、結果として、カンマで区切られた配列値を持つcsvファイルです。値はカンマで区切ってcsvファイルのさまざまな列に入れる方法がありますか? –

+1

@IlarioSalatinoあなたが何を意味するのか分かりません。私のコードでは、2つの列を持つ配列があるため、エクスポートされたcsvには2つの列があります。これは各行の値ではなく、各行の2つの値です。それがあなたが望むものでないなら、あなたの質問に[mcve]を加えてください。 – Goyo

関連する問題