ビデオ: 商品リサーチ・分析で最も重要な要素とは? 2024
予測分析のもう1つのタスク独立した変数のセットが与えられた場合、データの対象項目が属するクラスを予測することによって新しいデータを分類することである。たとえば、高価値顧客、通常顧客、または競合他社に切り替える準備ができている顧客など、タイプ別に顧客を分類するには、デシジョンツリーを使用します。
R Classificationモデルに関する有用な情報を表示するには、次のコードを入力します。
<! - 1 - > >>概要(モデル)長さクラスモード1 BinaryTree S4クラス列は、あなたが決定木を作成したことを示します。分割がどのように決定されているかを見るには、次のようにモデルを割り当てた変数の名前を入力します。 >> model 6端末ノードを含む条件付き推論ツリー応答:seedType入力:面積、周囲、コンパクトさ、長さ、幅、非対称性、長さ2観測数:147 1)面積≦16 2。基準= 1、統計= 123 423 2)面積≦13 37; 1)、統計量= 63,549 3)長さ2 4. 914 5)*重み= 45 2)面積> 13 37 6)長さ2 5. 396 8)*重み= 8 1)面積> 16 2 9)長さ2このモデルを使って決定木のプロットを作成することで、モデルを視覚化することができます:> plot(model)
<! - 2 - >
これは意思決定ツリーの図形表現です。全体的な形が実際の木の形を模倣していることがわかります。
ノード
(円と長方形)とリンク または エッジ (接続線)で構成されています。 最初のノード(先頭から始まる)は ルートノード と呼ばれ、ツリーの下のノード(長方形)は
終端ノード と呼ばれます。 5つの決定ノードと6つの終端ノードがあります。 <! - 3 - > 各ノードで、モデルは円とリンクの基準に基づいて決定を下し、行き先を選択します。モデルが末端ノードに到達すると、判定または最終決定に達する。この特定のケースでは、2つの属性、およびを使用して、指定されたシードタイプがクラス1,2または3にあるかどうかを判断します。 たとえば、データセットから観測#2を取ります。それは4.956と14.88の値を持ちます。あなたが作成したツリーを使って、この観測値がどの種の種別に属しているかを判断できます。以下は一連の手順です:
ルートノード(ノード1)から開始します(番号は円の上部にある小さな四角で示されています)。属性に基づいて決定する:観察#2は(以下で<=)16以下であるか?2?答えは「はい」なので、ノード2へのパスに沿って移動します。ノード2で、モデルは次のように質問します。答えは「はい」ですので、ノード6のパスに沿って移動します。このノードで、モデルは次のように質問します。length2 <= 5. 396ですか?そうです、そしてあなたは終点ノード7に移動し、観測#2は種子タイプ1であるという判定が行われます。そして、実際に種子タイプ1です。
モデルは、他のすべての観測がそのプロセスを予測するクラス。
-
良いモデルを訓練したかどうかを調べるには、訓練データと照合してください。次のコードを使用してテーブル内の結果を表示できます。 >> table(predict(model)、trainSet $ seedType)1 2 3 1 45 4 3 2 3 47 0 3 1 0 44
-
エラー(または誤分類率)は147のうち11であり、7. 48%である。
結果が計算されたら、次のステップはテーブルを読むことです。
-
正しい予測は、列番号と行番号を同じものとして示すものです。これらの結果は、左上から右下への対角線として表示されます。 [1,1]、[2,2]、[3,3]は、そのクラスの正しい予測の数です。したがって、種子1型については、種子を誤って7回(種子2型として4倍、型3として3倍)誤って分類し、45倍に正確に予測した。種子2型については、モデルはそれを47回正しく予測し、3回誤って分類した。種子タイプ3については、モデルはそれを44回正しく予測したが、1回のみ誤分類した。
これは良いモデルであることを示しています。これでテストデータで評価します。 >> testPrediction < - predict(model、newdata = testSet)
テストデータを使用して後で使用するためにテストデータを使用して変数(testPrediction)に格納するコードを次に示します。 >> table(testPrediction、testSet $ seedType)testPrediction 1 2 3 1 23 2 1 2 1 19 0 3 1 0 17 <テストデータをテストし、テーブルでそのコードを表示し、 その結果、エラーは64のうち5であり、7.81%でした。これはトレーニングデータと一致しています。