2017-01-01 15 views
0

私は数字からなる大部分の整数からなるトリプレットの大部分の100次元リストを持っています。scikit-学習し、数字のリストを生成することを学ぶ

私はドキュメントはにかなり困難であるなしに、これらのデータからパターンを学習し、簡単な生成モデルを書き、三つ子のありそうなリストを生成しますが、私の背景はかなり弱いですしsklearnで探してい
[(50,100,0.5),(20,35,1.0),.....] 
[(70,80,0.3),(30,45,2.0),......] 
.... 

続く。

私が見てみることができる同様の仕事をするスクリーンコードの例はありますか?

+0

私が理解する限り、 'sklearn'は生成モデルを直接サポートしていません。 'sklearn'モデルは外挿法ではなく、補間します。 – DyZ

+0

犯罪を意味するものではありませんが、これはプログラミングに関するものではなく、統計的推論に関するものであるため、統計サイトの1つでよく聞かれる質問です。どのようにあなたのデータのセットがランダムな行動を含む何らかのプロセスから生成された可能性がある方法をモデル化すべきであるように見えます。たとえば、http://stats.stackexchange.com/と考えることができます。 –

答えて

0

この質問はおそらくデータサイエンスや統計のサイトに適していると私は同意しますが、私はそれを刺すでしょう。

まず、データはpandasのデータフレームであると仮定します。これはscikit-learnと他のPythonパッケージにとって便利です。

私はまずデータを視覚化します。 3次元しかないので、3次元の散布図が役立つかもしれません。例えば、hereを参照してください。

データをプロットするもう1つの便利な方法は、ペアプロットを使用することです。 seabornパッケージを使用すると非常に簡単です。 hereを参照してください。ペアプロットは、変数/フィーチャのそれぞれの分布やフィーチャのペア間の相関関係を示すので便利です。

この時点で、生成モデルの作成はプロットの内容によって異なります。たとえば、すべての変数が互いに独立している場合は、各変数のpdfを個別に見積もるだけで済みます(たとえばを使用し、seabornに実装されています)。次に、 3つのディストリビューションのそれぞれから別々に取り出し、これらの値を単一のタプルで組み合わせることによって、

変数が独立していない場合は、タスクがより複雑になり、おそらく統計サイトで別の投稿が必要になることがあります。たとえば、サンプルが異なるクラスタから生成される可能性があります。重複する可能性があります。その場合は、mixture modelのようなものが役に立ちます。ここ

0

は正確に(判別モデル)し、小さなコードの例である:

http://scikit-learn.org/stable/auto_examples/index.html

生成モデルはsklearn.mixtureであろう。そうでなければここで

import numpy as np 
from sklearn.linear_model import LinearRegression 

#generate random numpy array of the size 10,3 
X_train = np.random.random((10,3)) 
y_train = np.random.random((10,3)) 
X_test = np.random.random((10,3)) 

#define the regression 
clf = LinearRegression() 

#fit & predict (predict returns numpy array of the same dimensions) 
clf.fit(X_train, y_train) 
y_pred = clf.predict(X_test) 

以上の例です。 GaussianMixture(バージョン0.18でのみ有効)

関連する問題