2016-10-26 3 views
0

私はデータ科学のコンテストに参加しています。最終的な予測はGINIインデックスで測定されます。これは回帰問題です。私はSASの計算のためのソースコードを持っていますが、私はSASを知らず、何が起こっているのか理解できません。SASコード - GINIを構築する方法を理解しようとしています。

私はPythonで同じものを作りたいと思います。どんな助けもありがとう。誰かがこれのためにPythonコードを知っていれば、多くの助けになります。

*define GINI;  
    %macro gini(input=, output=, y=, py=, filter=, split_ind =); 
    data indsn; 
     set &input.; 
     _random=ranuni (123456789); 
     w=1; 
     if &split_ind.="&filter."; 
    run; 

    proc sort data=indsn;by &py _random;run; 
     /*accumulate w to calculate Gini */ 
     data test; 
      set indsn; 
      if _N_ = 1 then do; 
       cumm_w0=0; 
      end; 
      retain cumm_w0 
      ; 
      cumm_w0=cumm_w0+w; 
     run; 

     /*calcualate Gini */ 
     proc sql noprint; 
      create table &output 
      as 
      select 1-2/(sum(w)-1)*(sum(w)-sum(&y.*cumm_w0*w)/sum(&y.*w)) as gini 
      from test; 
     quit; 


     proc print data=&output; 
      title " GINI on &filter.";run; 
    %mend; 
+0

SAS UEは、無料でインストールすることができます。 w = 1なので、cumm_w0はランダムにソートされたデータの合計です。 – Reeza

+0

@Reeza - パラメータは何ですか? – nEO

+0

いいえ、どこからこのコードを入手しましたか?ドキュメントやヘルプを入手できません。 – Reeza

答えて

関連する問題