pandas 如何在完整的数据框架上拟合模型后从数据框架预测单个行

tnkciper  于 2023-08-01  发布在  其他
关注(0)|答案(2)|浏览(92)

我在pandas dataframe上拟合sklearn模型,然后尝试在每行上预测它。由于拟合和预测维数不同,我面临以下误差。

import pandas as pd
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression

iris_dict = load_iris()
X = pd.DataFrame(iris_dict['data'])
y = pd.Series(iris_dict['target'])

clf = LogisticRegression()
clf.fit(X, y)

y_pred = clf.predict(X.loc[0,:])

字符串
单行预测给我一个错误

Expected 2D array, got 1D array instead:


我怎么能预测每一只Pandas的排,一次只。我试过整形,但没有成功

pzfprimi

pzfprimi1#

Sklearn使用columns,主要使用numpy。你的X.loc[0,:]是一个序列,这意味着当它被转换为numpy时,它是一个一维数组。我相信简单地调用X.loc[0,:].to_numpy().reshape(1,-1)就行了

ovfsdjhp

ovfsdjhp2#

尝试y_pred = clf.predict(X.loc[[0]]),应该可以,因为双方括号返回的是一个数据框架而不是一个系列。

相关问题