1 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
是的,我相信這很重要,因?yàn)閟klearn它將pandasDataFrame轉(zhuǎn)換為值數(shù)組(本質(zhì)上是X1.values),而不是注意列名。但是,這很容易解決。只需使用:
X2 = X2[X1.columns]
并將X2的列重新排序?yàn)榕c列相同的順序。X1
numpy當(dāng)然,數(shù)組也是如此,因?yàn)樗鼘⑹鼓P瓦m合列中的模型X1,因此當(dāng)您預(yù)測時(shí)X2,它將僅基于列中的順序進(jìn)行預(yù)測。X1
范例:
采取以下兩個(gè)數(shù)據(jù)幀:
>>> X1
a b
0 1 5
1 2 6
2 3 7
>>> X2
b a
0 5 3
1 4 2
2 6 1
該模型適用于X1.values:
array([[1, 5],
[2, 6],
[3, 7]])
而您預(yù)測X2.values:
>>> X2.values
array([[5, 3],
[4, 2],
[6, 1]])
模型無法知道列已切換。因此,請手動(dòng)切換它們:
X2 = X2[X1.columns]
>>> X2
a b
0 3 5
1 2 4
2 1 6
添加回答
舉報(bào)