如何在python中导出交叉验证的结果

时间:2020-10-16 08:23:02

标签: python pandas scikit-learn

我正在使用sklearn训练我的模型。但是我想将结果导出到excel文件中以进行自己的计算。 这是我的代码

data = pd.read_excel("TN QSAR.xlsx")
X = data.drop(['label','My ID','Smiles','pEC50'], axis=1)
y = data['pEC50']
model = linear_model.LinearRegression() 
cv = KFold(n_splits=3)
i = 1
for train,test in cv.split(X):
    model.fit(X[train], y[train])
    y_pred = model.predict(X)
    y_pred_test = model.predict(X[test])
    y_pred_train = model.predict(X[train])
    y_pred_df = pd.DataFrame(y_pred, columns = ['y_pred'], index = X.index.copy())
    y_pred_train_df = pd.DataFrame(y_pred_train, columns = ['y_pred_train'], index = X[train].index.copy())
    y_pred_test_df = pd.DataFrame(y_pred_test, columns = ['y_pred_test'], index = X[test].index.copy())
    dftraintest = pd.concat([y,y_pred_df,y_pred_train_df,y_pred_test_df],axis=1)
    i = i+1
    dftraintest.to_excel('dftraintest',i,'.xlsx')

我该如何解决?

1 个答案:

答案 0 :(得分:0)

问题出在传递数据的方式上。 将X[train]更改为X.loc[train, :],将y[train]更改为y.loc[train],等等。

此外,我不确定将url参数传递给to_excel(url)的方式是否正确。如果还给出错误,请尝试:

  1. 'dftraintest' + str(i) +'.xlsx'
  2. 'dftraintest {}{}'.format(i, '.xlsx')
相关问题