2016-04-11 3 views
-4

以下のコードではdataを機械学習でscikitで動作させる方法を知りたいと思います。 これは、データを表示するために、print(data)のように、データなしでデータを呼び出すことを意味します。Pythonのネストされたデータを返すにはどうすればいいですか

x = np.random.uniform(0,9,size = 100) 
y = np.random.uniform(0,9, size = 100) 

c = len(x) 
v = len(y) 

for a in range(c): 
    for b in range(v): 
     data = [x[a],y[b]] 
+0

コードが達成したいことは不明です。 'data'は2つの要素(それぞれ' x'と 'y'の最後の要素)のリストになるので、あなたのループは不要です。あなたは 'data = list(zip(x、y))'(あるいは 'data = list(itertools.product(x、y))'のようなもの、 for b in y) ')代わりに? – stephan

+0

私は、彼の 'scikit'設定にこれらのデータをどのようにxferするかOPが知りません。だからもっと私たちと共有してください。次の操作は、データを供給したい 'scikit'関数のシグニチャは何ですか? – roadrunner66

+0

xとyを2Dモデルに戻します。 ex x = [1,2,3]、y = [2,3,4]とマージしてdata = [[1,2]、[2,3]、[3,4]]になります。私のコードでは、xとyをランダムジェネレータからデータにマージしてアクセスしたいと思っています。そして次のステップではKmeansのためにそれを試してみましょう。それはです私の次のコード関数kmeans =関数kmeans(n_clusters = 1) kmeans.fit()= kmeans.cluster_centers_ ラベル= kmeans.labels_ プリント(重心) 印刷(ラベル) –

答えて

0

forループで反復処理するのではなく、numpyの組み込み連結方法を使用します。問題のためのショートカットは、np.c_を使用することになる。

Nx2配列に xyNサイズ1- dimencionalベクトル)連結
>>> x = np.random.uniform(0,9,size = 10) 
>>> y = np.random.uniform(0,9, size = 10) 
>>> data = np.c_[x, y] 
>>> print(data) 
[[ 4.17625287 0.65042586] 
[ 0.86363075 5.76803241] 
[ 5.60804861 4.53155782] 
[ 5.09218028 2.21632802] 
[ 6.78485295 2.22956468] 
[ 4.02404425 0.34639777] 
[ 6.40337929 6.98969517] 
[ 3.79826214 1.29557794] 
[ 5.75174741 6.31052599] 
[ 0.15683548 3.71585267]] 

+0

OK、おかげで、私はよ 重心それを試してみてください –

関連する問題