我正在使用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')
我该如何解决?
答案 0 :(得分:0)
问题出在传递数据的方式上。
将X[train]
更改为X.loc[train, :]
,将y[train]
更改为y.loc[train]
,等等。
此外,我不确定将url参数传递给to_excel(url)
的方式是否正确。如果还给出错误,请尝试:
'dftraintest' + str(i) +'.xlsx'
或'dftraintest {}{}'.format(i, '.xlsx')