クラスタイプ
まず、出力を連続させたい場合は、class
タイプをに変更することをお勧めします。numeric
それ以外の場合は、クラスのラベル タイプをnominal
(現在のように) のままにし、評価を に変更することをお勧めします{1, 2, 3, 4, 5}
。
数値出力に変更する場合 (たとえば、4.5 星の予測を与えることができるようにするため)、数値クラスが可能な分類子を使用する必要があります。
ウェカの使用
Weka の使用方法については、ドキュメントを参照して、チュートリアルを参照することをお勧めします。たとえば、ARFF ファイルをダブルクリックした後は、ほとんどの作業をClassify
タブで行っているはずです。分類子を選択してから、 を選択しますStart
。
分類子
回帰
回帰、特に線形回帰は、単純に各属性に重みを割り当て、それらの重みの乗算と加算を使用して出力を生成するため、解釈が容易なため優れています。
あなたのサンプル ファイルを使用して でテストしましたがLinearRegression
、サンプル数が少ないため、最良のモデルは単純に3.9667
評価として出力することであり、平均絶対誤差は0.4722
.
満足できませんでした。次に を試してみSimpleLinearRegression
ました。これにより、モデル -0.02 * activites + 4.13
が得られ、平均絶対誤差 が得られます0.472
。
SMOreg
次のモデルを与える
weights:
+ 0.1147 * (normalized) lloc
- 0.0404 * (normalized) nid
- 0.1662 * (normalized) nle
- 0.0647 * (normalized) nel
+ 0.3385 * (normalized) nip
- 0.1352 * (normalized) activites
- 0.019 * (normalized) inside-permissions
- 0.0464 * (normalized) outside-permissions
+ 0.1602 * (normalized) all-permissions
+ 0.5921
であり、平均絶対誤差は0.3859
です。しかし、現時点では、データポイントが非常に少ないため、データをオーバーフィットしていると思います。
最近傍
より多くのデータがある場合は、 k 最近傍を使用することが実行可能なアプローチになる可能性があります (Weka では と呼ばれKStar
ます)。
決定木
アルゴリズムはDecisionStump
このモデルを の平均絶対誤差で出力しますが0.3424
、やはり過適合の可能性があります。
inside-permissions <= 1.5 : 2.6
inside-permissions > 1.5 : 4.090909090909091
inside-permissions is missing : 3.966666666666667
より多くのデータ
ご覧のとおり、データ ポイントが 12 個しかないことを考えると、モデルとエラー率はそれほど高くありません。本当に優れたモデルを構築するには、より多くのデータが必要になります。モデルのパフォーマンスを正確に把握するには、トレーニングに使用するのに十分なデータだけでなく、モデルのパフォーマンスをテストするためだけに使用する別のテスト セットとして保持するのに十分なデータが必要です。