sklearn one_hot向量输出维度第2维大小的本质
生活随笔
收集整理的這篇文章主要介紹了
sklearn one_hot向量输出维度第2维大小的本质
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題起源:在pipeline轉(zhuǎn)換時,突然出現(xiàn)one_hot向量輸出維度為第2維為1。通過多次驗(yàn)證,發(fā)現(xiàn)第2維都是2而非1?問題在哪里呢,最后發(fā)現(xiàn)第2維為2和第2維為1是輸入不同導(dǎo)致的?
case1:
y = np.array([1,0,1,1]).reshape(-1,1) json_pritimive = "sklearn.preprocessing.OneHotEncoder" obj = AIPrimitive() obj.load_from_json(json_pritimive) obj.fit(X_fit=y) obj.produce(X_produce=y)sklearn.preprocessing.OneHotEncoder fit start sklearn.preprocessing.OneHotEncoder fit over sklearn.preprocessing.OneHotEncoder produce start sklearn.preprocessing.OneHotEncoder produce over array([[0., 1.],[1., 0.],[0., 1.],[0., 1.]])case2:
y = np.array([1,1,1,1]).reshape(-1,1) json_pritimive = "sklearn.preprocessing.OneHotEncoder" obj = AIPrimitive() obj.load_from_json(json_pritimive) obj.fit(X_fit=y) obj.produce(X_produce=y)sklearn.preprocessing.OneHotEncoder fit start sklearn.preprocessing.OneHotEncoder fit over sklearn.preprocessing.OneHotEncoder produce start sklearn.preprocessing.OneHotEncoder produce over array([[1.],[1.],[1.],[1.]])case3:
y = np.array([1,1,2,0]).reshape(-1,1) json_pritimive = "sklearn.preprocessing.OneHotEncoder" obj = AIPrimitive() obj.load_from_json(json_pritimive) obj.fit(X_fit=y) obj.produce(X_produce=y)sklearn.preprocessing.OneHotEncoder fit start sklearn.preprocessing.OneHotEncoder fit over sklearn.preprocessing.OneHotEncoder produce start sklearn.preprocessing.OneHotEncoder produce over array([[0., 1., 0.],[0., 1., 0.],[0., 0., 1.],[1., 0., 0.]])從這里可以看出axis=1的大小是由類別數(shù)量決定的,也符合one_hot向量的本質(zhì)。我的理解偏離本質(zhì),固化的認(rèn)為第2維大小為2,而不是其他值。
總結(jié)
以上是生活随笔為你收集整理的sklearn one_hot向量输出维度第2维大小的本质的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tuple index out of r
- 下一篇: is not None与not某某 的区