テスト

テスト

【reddit翻訳】海外プレイヤー発案の新しいゲームモード『ローテーション』が話題に

redditユーザーu/HydratedPelicanより

””このモードのアイデアレプリケーションをプレイしているときに思いつきました。

お互いの5人のプレイヤーは互いに自分のアンロックされているエージェントから自由にピックすることができます。ただし、通常のゲームモードと同様にチーム内で同じエージェントを選択することはできません。


ラウンド1では、自分がピックしたエージェントを使用します。

ラウンド2では、チーム内で使用するエージェントをひとつずらして出撃します。

例 ラウンド1 P1ジェット P2セージ  P3ソーヴァ P4ヨル  P5レイズ
  ラウンド2 P1セージ P2ソーヴァ P3ヨル  P4レイズ P5ジェット

このローテーションはそれぞれのチームで毎ラウンド行われます。

先に5ラウンド取得したチームの勝利となります。

マネーシステムに関しては、毎ラウンド得られる金額は固定で、スキルはすべて補充された状態です。アルティメットポイントはエージェントごとに溜まります。(プレイヤーごとではない)

このモードは楽しいものとなるでしょう。
ジェットやレイナを即ピックすることもありませんし、すべてのプレイヤーがかならず5エージェント使用することになります。
エージェントをローテ―トしてからチームがどう順応するかは興味深いですし、
スモークメインでないプレイヤーがオーメンを使用することを強いられることもありません。

みなさんはどう思いますか?””


海外の反応

海外プレイヤー1

よくわかりました。

「ジェットだと思ったからダッシュで逃げようとしたのにやられた!!」

ってなる未来が笑笑

海外プレイヤー2

このモードはとても魅力的です。
私のようなアンレート/コンペに時間をかけれないプレイヤーにとっては、
スパイクラッシュが選択肢でしたが、あまり楽しいものではありませんでした。

カジュアルプレイヤーには短いアンレートが求められています。

海外プレイヤー3

レプリケーションより楽しそうだな!

海外プレイヤー4

いいアイデアだけど、個人的にいつか「リテイクモード」が追加されないかって思っている

海外プレイヤー5

このモードなら普段自分が使わないエージェントや立ち回りがいろいろ練習できるな。
普段はアンレートで30分かけて1キャラを練習しているから。

海外プレイヤー6

素晴らしいアイデアだと思う。開発陣もこの投稿をみてなにかインスピレーションを得てくれるといいな。

翻訳元
https://www.reddit.com/r/VALORANT/comments/qcydk9/a_new_game_mode_idea_rotation/






outbrain、一週間経過

outbrain やってまーす

https://www.kaggle.com/c/outbrain-click-prediction

BOSCHはデータが大きすぎて勉強には向いてないかなー、
あと飽きてきてたので、コンペ変えました。


なんというか、一週間かかって、ようやく全体像がわかったような感じです。

フォーラムでの初心者丸出しの質問にもかかわらず、親切にしてもらったおかげですな


自分なりのEDAの結果を後々、まとめます

predict_proba

boschの続き

さて相変わらずxgboostと格闘してるわけですが、

ふつーにモデル作って、ふつーにfitさせて、predictするんですが、
全然スコアが上がらないんですよねー。


それで、kaggleや、コンペでは常識的なテクニックなのかもしれないですが、

どうやらみなさんは直接モデルに予測させることはなく(分類問題で)、
モデルからpredict_proba、つまりそのクラスに分類される確率を出力させて、
自分でcvしながら最適なthresholdを導いてるみたいです。

preds = (clf.predict_proba(X)[:,1] > best_threshold)

みたいな感じですね!!

最後の0.01ポイントを稼ぐのに使うのか、大きな差が出るのか・・・
どうなんでしょう??

BOSCHは続く

相変わらず自分用の備忘録

こちらのコードを参考にお勉強しております

今回のデータは2GBくらいある巨大なデータで、サンプルデータを抽出するにも一苦労なわけですが、迂回するにはこんな風に書くといいよというメモ

X = pd.concat([pd.concat([dchunk, nchunk], axis=1).sample(frac=0.05)
               for dchunk, nchunk in zip(date_chunks, num_chunks)])

pandasで、chunksizeを指定すると、返ってくるのがDataFrameではなく、TextReader??というオブジェクトなんですが、それに対してループを回して、同時にサンプリングもしますよという発想ですね。

それでこちらのコードで欠損値の処理をしてなかったのに気付き、コメントを読むと、XGBはNaNがあってもOKということで驚きました!

What are the ways of treatng missing values in XGboost? · Issue #21 · dmlc/xgboost · GitHub


今回のデータでは、大量に欠損値あるため、埋めるよりもそのまま渡した方がいいよと作者さんがコメントしていました。

xgboostのパラーメーター関連
http://kamonohashiperry.com/archives/209

どうやらxgbには3種類のパラメーター群、(全体、ブースト、学習)があり、設定するのは主にブースティング関連のパラメーターのようです。


グリッドサーチってやったことないので、挑戦してみようかな・・・
PythonでXgboost · Wolftail Bounds

XGBoostをmacにインストール(python)

python, mac, osxで、XGBoostを導入します。
正確にはwrapperらしいてすが。

公式の、gitからcloneするやり方だと、xgboostはインポートできるけど、XGBClassifierが読み込めないよくわからんバグに悩まされたので、メモっときます。


やり方

pyplからファイルをダウンロードする
https://pypi.python.org/pypi/xgboost/

ターミナルで、落としたファイルの
xgboost -> python-package に移動する

python setup.py install --user

と打ち込む、以上。

BOSCH その2

それではboschやってきます。

参考にしたカーネル
https://www.kaggle.com/mmueller/bosch-production-line-performance/road-2-0-4

今回のデーターはいかんせん巨大ということで・・・

pandas でメモリに乗らない 大容量ファイルを上手に扱う - StatsFragments

pandasで読み込むときに、chunksizeを指定して、小分けにして詠み込もうねという話。

xgbのパラメータの話
xgboost のパラメータ - puyokwの日記

きになる記事
http://puyokw.hatenablog.com/entry/2015/12/12/090000



今回のデータについて

https://www.kaggle.com/c/bosch-production-line-performance/data

BOSCH社のとある製品が製造される工程で、記録されたある値が特徴量のようです。
何の製品か、それぞれ何の値なのかは企業秘密みたいです

特徴は具体的に、

L3_S36_F3939

のように表されており、三番目のラインの、36というステーション(工程?)の、3939番という意味みたいです。

あまりにも巨大なデータのため、テスト用と学習用それぞれが、numeric、categorical、dateの三つに、合計六つのデータがある!!とのことです。

ラベルデータ(??)は、Responseで、そのパーツに異常があるかないかを示すようです。

ただ、実際にはカテゴリカルデータは、ほとんどnanのためあまり有益ではないみたいです。(ProKagglerによると)

欠損値の割合の計算コピペ

print(1- (1.0 * date.count().sum() / date.size))

80%くらいのデータが欠損してるんですが、予測できちゃう機会学習すんげーなー、と思います。

pandasでサンプリングするには

X = pd.concat([pd.concat([dchunk, nchunk], axis=1).sample(frac=0.05)
               for dchunk, nchunk in zip(date_chunks, num_chunks)])

DataFrame.sample(frac=好きな数字)

で、何割のデータをサンプリングするか指定できるみたいです!