python - 如何在python中导出交叉验证的结果
问题描述
我正在使用 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')
我该如何解决?
解决方案
问题在于您传递数据的方式。改变X[train]
to X.loc[train, :]
, y[train]
toy.loc[train]
等
除此之外,我不确定您将 url 参数传递给的方式是否to_excel(url)
正确。如果这也给出了错误,请尝试:
'dftraintest' + str(i) +'.xlsx'
或者'dftraintest {}{}'.format(i, '.xlsx')
推荐阅读
- ruby-on-rails - 将 has_many 更改为 has_and_belongs_to_many
- python - 蟒蛇和熊猫。检查列“name”和“last_name”中的值是否在“email”列中
- adal - 当您使用 AuthenticationContext.AcquireTokenAsync(...) 强制登录时,TokenCache 中实际更改或更新了什么?
- haskell - GHC 是否支持无 GC 编程?
- java - 在 Java 中使用递归泛型时的类型不兼容
- android - 使用毕加索加载时图像未保存到存储中
- azure - Azure 事件中心的 Web/桌面客户端
- c# - foreach 时出现无效查询错误(mos.Get() 中的 ManagementObject mo)
- c++ - 如何使用源代码中的执行策略检测 C++17 的扩展内存管理算法的可用性?
- outlook - 直接从 Outlook 加载项调用 Microsoft Graph API