質問編集履歴
2
記述の間違い
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 = [
|
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|
|
36
|
+
|4|1.226|0||
|
37
|
-
|5|
|
37
|
+
|5|0.520|2||
|
38
38
|
|6|2.112|1|false|
|
39
39
|
|----|----|----|----|
|
40
40
|
|7|-0.220|0||
|
1
題名の更新
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は関係なく
|
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|
|
31
|
+
|0|-0.112|0||
|
32
|
-
|1|
|
32
|
+
|1|0.025|0||
|
33
|
-
|2|
|
33
|
+
|2|0.998|1||
|
34
|
-
|3|
|
34
|
+
|3|1.112|2|true|
|
35
35
|
|----|----|----|----|
|
36
|
-
|4|
|
36
|
+
|4|0.226|0||
|
37
|
-
|5|
|
37
|
+
|5|1.520|2||
|
38
|
-
|6|
|
38
|
+
|6|2.112|1|false|
|
39
39
|
|----|----|----|----|
|
40
|
-
|7|
|
40
|
+
|7|-0.220|0||
|
41
|
-
|8|
|
41
|
+
|8|2.174|2|true|
|
42
|
-
|9|
|
42
|
+
|9|1.552|1||
|
43
43
|
|
44
44
|
|
45
45
|
# やったこと
|