teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

記述の間違い

2021/12/15 12:24

投稿

Luna_rab
Luna_rab

スコア17

title CHANGED
File without changes
body CHANGED
@@ -11,7 +11,7 @@
11
11
  - `label`は学習に使用する正解順位のラベルです。0,1,2のいずれかの値を持ち、最大値の2は各グループで必ず1回だけ登場します。大きいほうがより高い正解順位となります。
12
12
 
13
13
  ```
14
- preds = [7,8,9,10,8,7,9,7,9,-10]
14
+ preds = [-0.112,0.025,0.998,1.112,1.226,0.520,2.112,-0.220,2.174,1.552]
15
15
  label = [0,0,1,2,0,2,1,0,2,1]
16
16
  group = [4,3,3]
17
17
  ```
@@ -33,8 +33,8 @@
33
33
  |2|0.998|1||
34
34
  |3|1.112|2|true|
35
35
  |----|----|----|----|
36
- |4|0.226|0||
36
+ |4|1.226|0||
37
- |5|1.520|2||
37
+ |5|0.520|2||
38
38
  |6|2.112|1|false|
39
39
  |----|----|----|----|
40
40
  |7|-0.220|0||

1

題名の更新

2021/12/15 12:24

投稿

Luna_rab
Luna_rab

スコア17

title CHANGED
@@ -1,1 +1,1 @@
1
- numpyでforを使用でグループごとの最大値求めたい。
1
+ numpyでforで計算る部分高速化したい。
body CHANGED
@@ -1,7 +1,7 @@
1
1
  # やりたいこと
2
2
 
3
3
  現在forループで実装している部分を、numpyのメソッドを使うなどして高速化したいと考えております。
4
- (初めにお伝えしますが、実装したいこと自体にはLightGBMは関係なく本ページ下部の「やったこと」章にあるコードのforループを高速化したいだけです。)
4
+ (初めにお伝えしますが、本文中に何度かLightGBMに関する話題が登場しますが、実装したいこと自体にはLightGBMは関係なく本ページ下部の「やったこと」章にあるコードのforループを高速化したいだけです。LightGBMに詳しくない方もブラウザバックせずにご一読いただければ嬉しいです。)
5
5
 
6
6
  具体的には、LightGBMのrambdarankでグループ内での予測順1位かつ正解順1位のaccuracyを求めるカスタムメトリックを作成したいです。
7
7
  しかし、自分で作成したメトリックはfor文を使っているため学習が非常に遅くなってしまいます。
@@ -28,18 +28,18 @@
28
28
 
29
29
  |index|preds|label|T or F|
30
30
  |:--|:--|||
31
- |0|7|0||
31
+ |0|-0.112|0||
32
- |1|8|0||
32
+ |1|0.025|0||
33
- |2|9|1||
33
+ |2|0.998|1||
34
- |3|10|2|true|
34
+ |3|1.112|2|true|
35
35
  |----|----|----|----|
36
- |4|8|0||
36
+ |4|0.226|0||
37
- |5|7|2||
37
+ |5|1.520|2||
38
- |6|9|1|false|
38
+ |6|2.112|1|false|
39
39
  |----|----|----|----|
40
- |7|7|0||
40
+ |7|-0.220|0||
41
- |8|9|2|true|
41
+ |8|2.174|2|true|
42
- |9|-10|1||
42
+ |9|1.552|1||
43
43
 
44
44
 
45
45
  # やったこと