トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 1923

 
mytarmailS:


先生がいないと次元が下がるのは私だけでしょうか? ウヲト」(umap)の話です。

 
Vladimir Perervenko:

先生がいないと次元が下がるのは私だけでしょうか? ウヲト」(umap)の話です。

はい、私だけが「umap」パッケージを使用しています。

 
mytarmailS:

ええ、私だけが "umap "パッケージを使用しています。

それじゃ意味がない。ターゲットとなる空間にマッチするように次元を減らすことが、変換の目的である。また、tSNEのように学習だけでなく、新しいデータ(valid/test)を扱う機能を持つパッケージはこの2つだけです。

変換後、dbscanでクラスター化する。得られたクラスターは、導入する変数の追加予測因子となる。多少の誤差が生じる場合があります。

グッドラック

 
mytarmailS:

はい、「umap」パッケージのみ使用しています。

メソッド自体の名称は?とにかく何なんだ? pythonで見てみたい。

アメーバや細胞の生命体のようなものが写っている。

ちなみに、マジシャンは同じような変身を見せた。ドットが楕円に伸びたり縮んだりしていた、そんな記憶があります。

 
マキシム・ドミトリエフスキー

メソッド自体の名称は何ですか?そもそも何なんだ? Pythonで言えば

写真で見るアメーバと細胞の一生

Pythonでは、umapパッケージが同じ名前を持っています。

 
Vladimir Perervenko:

Pythonでは、同名のumapパッケージ。

ありがとう、見てみるよ

 
Vladimir Perervenko:

次元を減らしてターゲットに合った空間にする、それが変換の目的です。

さて、どうやるのか、このターゲットマッチはどこから持ってくるのか、どういうことなのか。

Vladimir Perervenko:

また、tSNEのように訓練だけでなく、新しいデータ(valid/test)を処理することができる唯一のパッケージです。

そうなんです、だから選んだんです。

ウラジミール・ペレヴェンコ

dbscanによる変換クラスタリング後。導入する変数に追加する予測因子として、クラスターを取得。ここでは、バリエーションが考えられます。

前ページでdbscanについて 書きました。)

しかし、これも面倒です。第一に、クラスタがすべて同じように遊び回る必要があること、第二に、新しいデータを認識するのが遅すぎることです。

私はどこかで読んだ - パッケージが計画されているかどうか、またはp-スタジオのトリックが表示されるはず - クラスターは、マウスで直接、手動で選択可能になることを、それについて聞いていないのですか?

 
マキシム・ドミトリエフスキー

ありがとうございます、見てみます。

私はそれを使っているというか、Rのラッパーを使っているだけです。

 
mytarmailS:

では、どうやっているかというと、このターゲットマッチをどこから得て、どういう意味なのか。

そうなんです、だからこのパッケージを選んだんです。

前のページでdbscanについて 書きましたね ))

でも、これも面倒なんですよ。第一に、クラスタが全部同じだと、弄らないといけないし、第二に、新しいデータを認識するのが遅すぎるんです。

私はどこかで読んだ - またはパッケージが行うことを計画されているか、p-スタジオのチップに表示されていた - クラスタは、マウスで直接手動で選択可能になることを、それについて聞いていないのですか?

順番に

定数を設定するのです。

#---const-------------------------------
 evalq({
  n_n <- 15 L
  min_d <- 0.1
  n_c <- 3 L
  metr <- "euclidean" #"euclidean" (the default) "cosine" "manhattan"
  lr <- 0.75
  scale <- "none" 
  #               "none"
  #               "scale" or TRUE ,
  #               "maxabs" Center each column to mean 0, then divide each element by the maximum 
  #                         absolute value over the entire matrix.
  #               "range"
  init <- "spectral" # "spectral" # "normlaplacian". # "random".
  # "lvrandom". # "laplacian".  # "pca". # "spca".
}, env)

教師を使って教えるには、数式にターゲットとなるyを追加し、モデルを返す必要があることを指定するだけです(ret_model = TRUE)

#-----superveised------------------
 evalq({
  y <- factor(denoiseX1pretrain$origin$y)
  origin.sumap <- umap(X = x, y = y, approx_pow = TRUE, n_neighbors = n_n, 
                       learning_rate = lr, min_dist = min_d, n_components = n_c, ret_model = TRUE,
                       metric = metr, init = init, n_threads = 4 L, scale = scale)
}, env)

このモデルがあれば、残りのtrain/test/test1の原点データ群のサブセットも3次元に変換することができます。以下はそのコード です。

#---train--------------------------------
evalq({
  set.seed(1337)
  umap_transform(X = X1$train$x, model = origin.sumap, n_threads = 4 L, 
                 verbose = TRUE) -> train.sumap
}, env)
#---test--------------------------------
evalq({
  set.seed(1337)
  umap_transform(X = X1$test$x, model = origin.sumap, n_threads = 4 L, 
                 verbose = TRUE) -> test.sumap
}, env)
#---test1-------------------------------
evalq({
  set.seed(1337)
  umap_transform(X = X1$test1$x, model = origin.sumap, n_threads = 4 L, 
                 verbose = TRUE) -> test1.sumap
}, env)

x/yを代入すると、2つのグループに分かれた3次元データが得られます。未完成の記事から引用しています。どこかに写真があるのですが、今は見つかりません。必要なら、明日にでも探してみるよ。でも、自分のものは自分で手に入れられると思います。

グッドラック

 

発見

resdimX1_origin

理由: