Rに次の変数を持つデータセット(csvファイル)があります。 - 日付(m/d/y) - マシン番号(例: "XTR004") - 失敗、0または1) - 属性1(INT) - 属性2(INT) - 属性3(INT)時系列データの予測に失敗する
Iはデータの6ヶ月を持っています。毎日、日付、マシン番号、マシンが失敗したかどうか、失敗に関連する3つの属性を表示するログ(1行)が作成されます。マシンに障害が発生すると(障害= 1)、翌日には新しいログ(行)は作成されません。言い換えれば、最初の日付には多くの行があり、最後には少量の行があります。
目的:これらの3つの属性を使用して失敗を予測したいと思います。私が使用したいモデルは、1)ロジスティック回帰、2)ランダムフォレスト、3)ニューラルネットワークです。
問題:データをトレーニングと検証のセット(80/20またはクロスバリデーション)に分割し、この特定のケースで上記のモデルを使用する方法に関するアドバイスがありますか?日付とマシン番号は一緒に「主キー」と見なすことができます。したがって、次のようにするかどうかはわかりません。 - マシンに関連するすべてのログを含む2グループのマシンを作成する - 特定の日付を使用して分割された2つのグループを作成します(これは、グループ)
私は最初の戦略がより理にかなっていると思いますが、データを分割する方法は見つけられませんでした(80/20のワンタイムスプリットまたは5または10倍のクロスバリデーションを使用)。私はマシン番号に基づいてデータをグループ化しなければならないと思いますか?誰かがサンプルコードを見ることができる例はありますか?
ありがとうございます!
代表的なデータのサンプルを提供するか、構造を表すと思われる偽のデータを提出する必要があります。また、データセットを列車/テストに分割する方法については、オンラインで多くの例があります。 – AntoniosK
@AntoniosKフィードバックに感謝します。私は非常に小さなサンプルのスクリーンショットを含めました。私はデータの分割に多くのリソースを見つけましたが、データセットに列の「日付」が含まれている場合は、それを行う方法について何も見つかりませんでした。私が見つけた唯一のリソースは、データセットを特定の日付に基づいて2つに分割したものです(トレーニングセットはその日付の前にあり、検証セットはその日付の後です)。 – dhd
個人的には、マシン番号列を使用してデータを分割します。このようにして、私のトレーニングとテストのデータは、特定のマシン名のすべての日付で構成されます。トレーニングやその他のテストデータとして、特定のマシンの行(日)をいくつか持たせたくありません。例えば、機械「XTR004」が訓練データにランダムに入ると、そのすべての行も訓練データに進む。それは合理的に聞こえるか?あなたはそれをする方法を知っていますか? – AntoniosK