【发布时间】:2020-09-09 01:52:24
【问题描述】:
首先提示将 sklearn 与 pandas 一起使用,如果这可能是一个基本问题,我们深表歉意。这是我的代码:
import pandas as pd
from sklearn.linear_model import LogisticRegression
X = df[predictors]
y = df['Plc']
X_train = X[:int(X.shape[0]*0.7)]
X_test = X[int(X.shape[0]*0.7):]
y_train = y[:int(X.shape[0]*0.7)]
y_test = y[int(X.shape[0]*0.7):]
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
result = model.score(X_test, y_test)
print("Accuracy: %.3f%%" % (result*100.0))
现在我希望将预测值恢复为原始df,这样我就可以查看实际df['Plc'] 列与y_test 的预测值之间的差异。
我已经尝试过了,但感觉它 a) 可能不是最好的方法,并且 b) 索引号没有按预期排列。
y_pred = pd.DataFrame()
y_pred['preds'] = model.predict(X_test)
y_test = pd.DataFrame(y_test)
y_test['index1'] = y_test.index
y_test = y_test.reset_index()
y_test = pd.concat([y_test,y_pred],axis=1)
y_test.set_index('index1')
df = df.reset_index()
df_out = pd.merge(df,y_test,how = 'inner',left_index = True, right_index = True)
关于我应该做什么的任何想法?谢谢!
【问题讨论】:
标签: python pandas scikit-learn