質問編集履歴
3
誤字訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -66,7 +66,7 @@
|
|
66
66
|
#出力結果=>[2]
|
67
67
|
```
|
68
68
|
|
69
|
-
今度は1つ前の出力結果と等しくなります。一体どういう仕組みでラベルの数値
|
69
|
+
今度は1つ前の出力結果と等しくなります。一体どういう仕組みでラベルの数値化が行われているのか、とても気になっています。
|
70
70
|
|
71
71
|
####質問
|
72
72
|
LabelEncoderを用いた際、ラベル名を数値に変換する際にどういったルールがあるのか、詳しい方がいたら教えていただきたいです。
|
2
タイトル改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
scikit-learnのLabelEncoderに関する質問です。
|
2
2
|
|
3
|
-
####
|
3
|
+
####実行内容・疑問点
|
4
4
|
|
5
5
|
まず以下のようにしてLabelEncodingを行いました。( jupiter notebookを用いています。)
|
6
6
|
|
@@ -68,5 +68,5 @@
|
|
68
68
|
|
69
69
|
今度は1つ前の出力結果と等しくなります。一体どういう仕組みでラベルの数値かが行われているのか、とても気になっています。
|
70
70
|
|
71
|
-
####
|
71
|
+
####質問
|
72
72
|
LabelEncoderを用いた際、ラベル名を数値に変換する際にどういったルールがあるのか、詳しい方がいたら教えていただきたいです。
|
1
内容の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
scikit-learnのLabelEncoderに関する質問です。
|
2
2
|
|
3
|
-
#####疑問点
|
3
|
+
#####実行内容・疑問点
|
4
4
|
|
5
|
-
まず以下のようにしてLabelEncodingを行いました。
|
5
|
+
まず以下のようにしてLabelEncodingを行いました。( jupiter notebookを用いています。)
|
6
6
|
|
7
7
|
``` python
|
8
8
|
from sklearn.preprocessing import LabelEncoder
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
le = LabelEncoder()
|
16
16
|
le.fit(["umi", "yama", "tokyo", "kyoto"])
|
17
|
-
le.transform(["yama"])
|
17
|
+
print(le.transform(["yama"]))
|
18
18
|
#出力結果=>[3]
|
19
19
|
```
|
20
20
|
|
@@ -25,7 +25,7 @@
|
|
25
25
|
le.fit(["umi", "yama", "tokyo", "kyoto"])
|
26
26
|
```
|
27
27
|
|
28
|
-
|
28
|
+
として、LabelEncoder()を定義し直し、再びfit()を行なっている訳ですが、le.transform(["yama"])の出力結果が1度目と等しくなります。
|
29
29
|
|
30
30
|
次に、
|
31
31
|
|
@@ -41,9 +41,9 @@
|
|
41
41
|
#出力結果=>[1]
|
42
42
|
```
|
43
43
|
|
44
|
-
を行いましたが、やはりtransform(["tokyo"])の出力結果が等しくなりました。
|
44
|
+
を行いましたが、やはりle.transform(["tokyo"])の出力結果が等しくなりました。
|
45
45
|
|
46
|
-
ここで、
|
46
|
+
ここで、ラベル名が等しければ、LabelEncoder()を定義し直し、再度fit()を行なっても、出力結果が必ず等しくなるのかな?と思ったのです。
|
47
47
|
|
48
48
|
しかし、以下のコードを実行したところ、
|
49
49
|
|
@@ -51,5 +51,22 @@
|
|
51
51
|
le = LabelEncoder()
|
52
52
|
le.fit(["umi", "yama", "tokyo", "kyoto","mori"])
|
53
53
|
print(le.transform(["tokyo"]))
|
54
|
-
#出力結果=>[]
|
54
|
+
#出力結果=>[2]
|
55
|
-
```
|
55
|
+
```
|
56
|
+
|
57
|
+
le.transform(["tokyo"])の出力が、[1]ではなく[2]になりました。
|
58
|
+
変更点は、fit()に用いるラベルを1つ追加したことです。
|
59
|
+
|
60
|
+
さらに、以下も実行しました。
|
61
|
+
|
62
|
+
```python
|
63
|
+
le = LabelEncoder()
|
64
|
+
le.fit(["umi", "yama", "tokyo", "kyoto","mori","mori","mori","mori"])
|
65
|
+
print(le.transform(["tokyo"]))
|
66
|
+
#出力結果=>[2]
|
67
|
+
```
|
68
|
+
|
69
|
+
今度は1つ前の出力結果と等しくなります。一体どういう仕組みでラベルの数値かが行われているのか、とても気になっています。
|
70
|
+
|
71
|
+
#####質問
|
72
|
+
LabelEncoderを用いた際、ラベル名を数値に変換する際にどういったルールがあるのか、詳しい方がいたら教えていただきたいです。
|