ビデオ: 重回帰分析 2024
既知の結果を使用して評価できる予測分析モデルを作成したいとします。そのためには、データセットを2つのセットに分割します.1つはモデルをトレーニングするモデル、もう1つはモデルをテストするモデルです。トレーニングデータセットとテストデータセットの間の70/30の分割で十分です。 >> trainSize testSize < - nrow(autos)-trainSize
値を出力するには、値を格納する変数の名前を入力し、 Enterを押します。出力は次のとおりです。
<! - 1 - > >> trainSize [1] 279> testSize [1] 119
このコードは、トレーニングデータセットとテストデータセットを作成するデータセットのサイズを決定します。あなたはまだそれらのセットを実際に作成していません。また、最初の279回の観測にトレーニングセットを呼び出し、最後の119回の観測をテストセットに呼び出すだけではいけません。これは、データセットが順序付けられているため、不良モデルを作成します。具体的には、modelYear列は最小から最大まで並べられます。<! - 2 - >
データを調べると、より重い8気筒の大排気量、大馬力の自動車のほとんどがデータセットの最上部にあることがわかります。この観察から、データ上でアルゴリズムを実行することなく、古い車を次のように新しい車と比較して(一般的にこのデータセットについては)知ることができます:
重い8つの気筒
-
より大きな変位
-
<!さて、多くの人が自動車について何かを知っていることは明らかです。そのため、データを見ても、相関関係が何であるかについての推測はあまりにも遠くないでしょう。多くの自動車知識を持つ人は、データを見なくてもこれをすでに知っているかもしれません。
-
これは、多くの人々が関連付けることができるドメイン(車)の単純な例です。しかし、これががんに関するデータであれば、ほとんどの人は各属性の意味を直ちに理解することはできません。
これはドメイン専門家とデータモデラーがモデリングプロセスにとって不可欠な場所です。ドメインのエキスパートは、どの属性が最も重要であるか(または最も重要ではない)、および属性がどのように相互に関連しているかを最もよく知ることができます。 -
データモデル作成者は、どの変数を試してみるかをデータモデラーに提案できます。より重要な属性に大きな重みを与えたり、重要度の低い属性に対して重みを小さくする(またはそれらをすべて削除する)ことができます。
そのため、セット全体を真に表現するトレーニングデータセットとテストデータセットを作成する必要があります。これを行う1つの方法は、データセット全体をランダムに選択してトレーニングセットを作成することです。さらに、このテストを再現性のあるものにして、同じ例から学ぶことができます。
ランダムジェネレータのシードを設定し、同じ「ランダム」トレーニングセットを作成します。次のコードはそのタスクを行います: >>が設定されています。 trainSet testSet < - autos [-training_indices、]
トレーニングセットには、結果と一緒に279の観測値が含まれています(例:seq_len(nrow(autos))、
size = trainSize) (mpg)をそれぞれの観測の。回帰アルゴリズムは、予測変数(7つの属性のいずれか)と応答変数(mpg)の間の関係を調べることによって、結果を使用してモデルをトレーニングします。テストセットは、残りのデータ(すなわち、トレーニングセットに含まれていない部分)を含む。テストセットには応答(mpg)変数も含まれています。
テストセットとともに(モデルからの)予測関数を使用すると、応答変数は無視され、列名がトレーニングセットのものと同じである限り、予測変数のみが使用されます。
mpg属性を応答変数、その他のすべての変数を予測変数として使用する線形回帰モデルを作成するには、次のコード行を入力します。 >> model < - lm(formula = trainSet $ mpg〜 、data = trainSet)