ISmNaiveBayes.KeyInfluence

Fore Syntax

KeyInfluence(Index: Integer): ISlInfluence;

Fore.NET Syntax

KeyInfluence[Index: Integer]: Prognoz.Platform.Interop.Stat.ISlInfluence;

Parameters

Index. Index of the key influence.

Description

The KeyInfluence property returns characteristics of the specified key influence.

Comments

The number of key influences is returned by the ISmNaiveBayes.KeyInfluencesCount property.

Fore Example

To execute the example add a link to the assembly Stat.

Sub UserKeyInfl;
Var
    KeyInfl: SmNaiveBayes;
    infl: ISlInfluence;
    expl: Array[20Of Integer;
    ex1, ex2: Array[20Of Double;
    res, count, i: Integer;
Begin
    KeyInfl := New SmNaiveBayes.Create;
    // Set initial data
    ex1[0] := 0; ex2[0] := 1; expl[0] := 1;
    ex1[1] := 2; ex2[1] := 0; expl[1] := 3;
    ex1[2] := 0; ex2[2] := 2; expl[2] := 2;
    ex1[3] := 1; ex2[3] := 1; expl[3] := 0;
    ex1[4] := 1; ex2[4] := 2; expl[4] := 2;
    ex1[5] := 0; ex2[5] := 2; expl[5] := 1;
    ex1[6] := 2; ex2[6] := 1; expl[6] := 3;
    ex1[7] := 2; ex2[7] := 1; expl[7] := 0;
    ex1[8] := 2; ex2[8] := 1; expl[8] := 0;
    ex1[9] := 2; ex2[9] := 1.45;expl[9]:=0;
    ex1[10] := 1; ex2[10] := 1; expl[10] := 3;
    ex1[11] := 2; ex2[11] := 1; expl[11] := 2;
    ex1[12] := 2; ex2[12] := 1; expl[12] := 0;
    ex1[13] := 2; ex2[13] := 0; expl[13] := 2;
    ex1[14] := 0; ex2[14] := 2; expl[14] := 3;
    ex1[15] := 2; ex2[15] := 1; expl[15] := 1;
    ex1[16] := 2; ex2[16] := 1; expl[16] := 0;
    ex1[17] := 1; ex2[17] := 2; expl[17] := 1;
    ex1[18] := 0; ex2[18] := 0; expl[18] := 3;
    ex1[19] := 2; ex2[19] := 1; expl[19] := 1;
    // Set explained variable
    KeyInfl.Explained := expl;
    // Set explanatory variables
    KeyInfl.Explanatories.Add.Value := ex1;
    KeyInfl.Explanatories.Add.Value := ex2;
    // Run calculation and show results
    res := KeyInfl.Execute;
    If res <> 0 Then
        Debug.WriteLine(KeyInfl.Errors);
    Else
        count := KeyInfl.KeyInfluencesCount;
        Debug.WriteLine("Number of key influences: " + count.ToString);
        For i := 0 To count - 1 Do
            infl := KeyInfl.KeyInfluence(i);
            Debug.Write("Value '" + infl.ExplanatoryValue.ToString);
            Debug.Write("' in the explanatory series '" + infl.ExplanatoryId.ToString);
            Debug.Write("' influences the explained value '" + infl.ExplainedValue.ToString);
            res := Double.RoundInt(infl.InfluenceRate);
            Debug.WriteLine("' with the rate '" + res.ToString + "%'");
        End For;
    End If;
End Sub UserKeyInfl;

After executing the example, the console window displays the results of search for key influencers that uses naive Bayes classifier.

Fore.NET Example

Imports Prognoz.Platform.Interop.Stat;

Public Shared Sub UserKeyInfl();
Var
    KeyInfl: SmNaiveBayes;
    infl: ISlInfluence;
    expl: Array[20Of Integer;
    ex1, ex2: Array[20Of Double;
    res, count, i: Integer;
Begin
    KeyInfl := New SmNaiveBayes.Create();
    // Set initial data
    ex1[0] := 0; ex2[0] := 1; expl[0] := 1;
    ex1[1] := 2; ex2[1] := 0; expl[1] := 3;
    ex1[2] := 0; ex2[2] := 2; expl[2] := 2;
    ex1[3] := 1; ex2[3] := 1; expl[3] := 0;
    ex1[4] := 1; ex2[4] := 2; expl[4] := 2;
    ex1[5] := 0; ex2[5] := 2; expl[5] := 1;
    ex1[6] := 2; ex2[6] := 1; expl[6] := 3;
    ex1[7] := 2; ex2[7] := 1; expl[7] := 0;
    ex1[8] := 2; ex2[8] := 1; expl[8] := 0;
    ex1[9] := 2; ex2[9] := 1.45;expl[9]:=0;
    ex1[10] := 1; ex2[10] := 1; expl[10] := 3;
    ex1[11] := 2; ex2[11] := 1; expl[11] := 2;
    ex1[12] := 2; ex2[12] := 1; expl[12] := 0;
    ex1[13] := 2; ex2[13] := 0; expl[13] := 2;
    ex1[14] := 0; ex2[14] := 2; expl[14] := 3;
    ex1[15] := 2; ex2[15] := 1; expl[15] := 1;
    ex1[16] := 2; ex2[16] := 1; expl[16] := 0;
    ex1[17] := 1; ex2[17] := 2; expl[17] := 1;
    ex1[18] := 0; ex2[18] := 0; expl[18] := 3;
    ex1[19] := 2; ex2[19] := 1; expl[19] := 1;
    // Set explained variable
    KeyInfl.Explained := expl;
    // Set explanatory variables
    KeyInfl.Explanatories.Add().Value := ex1;
    KeyInfl.Explanatories.Add().Value := ex2;
    // Run calculation and show results
    res := KeyInfl.Execute();
    If res <> 0 Then
        System.Diagnostics.Debug.WriteLine(KeyInfl.Errors);
    Else
        count := KeyInfl.KeyInfluencesCount;
        System.Diagnostics.Debug.WriteLine("Number of key influences: " + count.ToString());
        For i := 0 To count - 1 Do
            infl := KeyInfl.KeyInfluence[i];
            System.Diagnostics.Debug.Write("Value '" + infl.ExplanatoryValue.ToString());
            System.Diagnostics.Debug.Write("' in the explanatory series '" + infl.ExplanatoryId.ToString());
            System.Diagnostics.Debug.Write("' influences the explained value '" + infl.ExplainedValue.ToString());
            System.Diagnostics.Debug.WriteLine("' with the rate '" + infl.InfluenceRate.ToString() + "%'");
        End For;
    End If;
End Sub UserKeyInfl;

After executing the example, the console window displays the results of search for key influencers that uses naive Bayes classifier.

See also:

ISmNaiveBayes