нужно найти такие строчки которые повторяются не менее 10 раз в всей выборке и в каждой из найденных одинаковых групок которые повторялись, количество "1" в target.label должно превышать 70% по отношению к "0" вот найденные одинаковые строчки единичек больше чем нулей...
#пара строк из той таблицы, не буду я всё текстом копировать, потом первая строка повторена ещё дважды dat <- data.frame(cluster1=c(24,2,13,23,6), cluster2=c(5,15,13,28,12), cluster3=c(18,12,16,22,20), cluster4=c(21,7,29,10,25), cluster5=c(16,22,24,4,11), target.label=c(1,1,0,1,0)) dat <- rbind(dat, dat[1,], dat[1,]) #результат последней строки поменян на 0 для эксперимента dat[7,"target.label"]=0
library(sqldf) #для sqldf точек в названиях колонок быть не должно colnames(dat)[6] <- "target"
dat1 <- sqldf( "select cluster1, cluster2, cluster3, cluster4, cluster5, avg(target) as target_avg, count(target) as target_count from dat group by cluster1, cluster2, cluster3, cluster4, cluster5" ) dat1 dat1[ dat1$target_count>=10 & dat1$target_avg>0.63 , ] dat1[ dat1$target_count>=10 & ( dat1$target_avg<0.37 | dat1$target_avg>0.63 ), ] #на случай если оба "0" или "1" встречаются чаще 70%
さて、今回も気がついたことがあります。データセットがあり、perdicts 12と、そのラグ、lag1、lag2があることです。以前は、入力はほとんどセットの最初にあり、つまりラグは少なく、そしてlag1以上にはならず、まれにlag2がありました。サンプルがデータ過多であることは理解できますが、汎化する前はlag1やlag2の方が頻度が高かったのは事実です。ただ、以前は一般化が初期のコラムに多かったのが、今は最終コラムになったのは事実ですが......。ほとんど、だから、推論....
そのため、以前のバージョンにロールバックする必要があります。
私のフライトは大丈夫です。サンプルにラグが無いからでは?
全体的にいい感じですね、最後はどうなるんでしょうね。
委員会について - いくつか例を掲載しましたが、丸めを使った回帰で分類しているモデルもあり、そこはあまり明確ではありませんね。票の組み合わせは2種類試してみました。
1) すべてをクラスに切り上げ、より多くの投票があるクラスを受講する。
例えば、3つのモデルから4本のバーを予測すること。
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) 私ならさらにそれを丸めてクラスへ
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) となり、予測値の最終ベクトルは、投票数で c(0, 1, 1, 0) となる。
2) もう一つの方法は、平均値をすぐに求め、それをクラス単位に切り上げることです。
その結果、c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3) となります。
または (0.2666667, 0.4000000, 0.5333333, 0.4000000), または
c(0, 0, 1, 0)
パッケージ tsDyn SETAR関数
閾値(RSIのように2つの閾値がある場合もある)は可変であることが判明した。驚くべき結果をもたらす。
また、分類におけるキャリブレーションアルゴリズムも忘れてはならない。ポイントは、現実のクラス予測は名目上の値ではなく、アルゴリズムが計算するクラス確率は実数であることです。そして、この確率を例えば半分で割って、2つのクラスを得ます。確率が0.49と051なら、2クラス分?0.48と052はどうでしょうか?これはクラス分けなのでしょうか?ここで、SETARは2つのクラスに分かれ、その間に「オン・ザ・フェンス」のレシェトフスキーが入る。
全体的にいい感じですね、最後はどうなるんでしょうね。
委員会について - いくつか例を掲載しましたが、丸めを使った回帰で分類しているモデルもあり、そこはあまり明確ではありませんね。票の組み合わせは2種類試しました。
1) すべてをクラスで切り上げ、最も多くの票を集めたクラスを受講する。
例えば、3つのモデルから4本のバーを予測する
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) これをさらに切り上げて、クラス
c(0, 1, 0, 0) c(1, 1, 1, 0) c(0, 0, 1, 1) とし、予測値の最終ベクトルは、投票数で c(0, 1, 1, 0) とします。
2) もう一つの選択肢は、平均値をすぐに求め、それをクラス単位に切り上げることです。
結果は c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)
もしくは (0.2666667, 0.533333, c(0, 0, 1) or
) となるでしょう。
みんな、この問題には答えが出ないと思うので、助けてください。
http://ru.stackoverflow.com/questions/586979/%D0%9A%D0%B0%D0%BA-%D0%B8%D0%B7-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2%D1%8B%D1%87%D0%BB%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-%D0%BD%D0%B5%D0%BA%D0%B8%D0%B5-%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%BF%D0%BE-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8E
ここでも答えてくれて構わないよ。
では、ここでお答えします。
dat <- data.frame(cluster1=c(24,2,13,23,6), cluster2=c(5,15,13,28,12), cluster3=c(18,12,16,22,20), cluster4=c(21,7,29,10,25), cluster5=c(16,22,24,4,11), target.label=c(1,1,0,1,0))
dat <- rbind(dat, dat[1,], dat[1,])
#результат последней строки поменян на 0 для эксперимента
dat[7,"target.label"]=0
library(sqldf)
#для sqldf точек в названиях колонок быть не должно
colnames(dat)[6] <- "target"
dat1 <- sqldf( "select cluster1, cluster2, cluster3, cluster4, cluster5, avg(target) as target_avg, count(target) as target_count from dat group by cluster1, cluster2, cluster3, cluster4, cluster5" )
dat1
dat1[ dat1$target_count>=10 & dat1$target_avg>0.63 , ]
dat1[ dat1$target_count>=10 & ( dat1$target_avg<0.37 | dat1$target_avg>0.63 ), ] #на случай если оба "0" или "1" встречаются чаще 70%
tsDynパッケージはSETAR関数
SETARは特に委員会のキャリブレーションについて言及していますが、これは財務モデルの作成とは別のトピックですか?
パッケージのマニュアルをめくってみたが、必要なものが見当たらない...。10000個の例からなる学習テーブルがあります。そして、これらの例で学習させたモデルが100個あります。モデルをテストするには、同じ入力データを予測し、それぞれ10000の予測値を持つ100のベクトルを得るために使用することができます。SETARを使えば、これら100のベクトルを何とか1つにまとめることができるのでは?
そして、新しいデータを使った予測では、また100の予測があり、それらを1つに統合する必要があります(100のベクトルではなく、100の単一の予測があることになります)。SETARは、学習データから得られた委員会パラメータを使って、これもできるようになるのでしょうか?
SETARは特に委員会のキャリブレーションについて言及していますが、これは財務モデルの作成とは別のトピックですか?
パッケージのマニュアルをめくってみたが、必要なものが見当たらない...。例えば、10000個の例からなる学習テーブルがあります。その例で学習させたモデルが100個あるんです。モデルをテストするには、同じ入力データを予測し、それぞれ10000の予測値を持つ100のベクトルを得るために使用することができます。SETARを使えば、これら100のベクトルを何とか1つにまとめることができるのでは?
そして、新しいデータを使った予測では、また100の予測があり、それらを1つに統合する必要があります(100のベクトルではなく、100の単一の予測があることになります)。SETARは、学習データから導き出された委員会パラメータを使って、それもできるようになるのでしょうか?
そして、以前のバージョンにロールバックする必要があります。
元気に走っています。サンプルにラグが無いからでは?