我的输入和输出数据写在一个 6xn 行列的 excel 文件中,我使用 pandas 读取它们
使用此代码:
from sklearn import linear_model
import os
import pandas as pd
import numpy as np
import openpyxl as pyx
import numpy as np
import matplotlib.pyplot as plt
path = r"E:\"
os.chdir( path )
data1 = pd.read_excel("input.xlsx", header=None,index=False)
data2 = pd.read_excel("target.xlsx", header=None,index=False)
# print df.head()
le= 20;lg=len(data1)
x_train=[];x_t=[];y_train=[];y_t=[];x_test=[];x_ts=[];y_test=[];y_ts=[];
for i in range(le):
x_t = data1.iloc[i,:]
x_train.append(x_t)
y_t = data2.iloc[i,:]
y_train.append(y_t)
if i > le :
x_ts = data1.iloc[lg-i,:]
x_test.append(x_ts)
y_ts = data2.iloc[lg-i,:]
y_test.append(y_ts)
ols = linear_model.LinearRegression()
model = ols.fit(x_train, y_train)
print (model.predict(x_test)[0:5])
我收到此错误:
文件“C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 880 行,运行文件 execfile(文件名,命名空间)
文件“C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 102 行,在 execfile exec(compile(f.read(), filename, 'exec'), namespace)
文件“E:/Scikit-Learn.py”,第 46 行,打印中 (model.predict(x_test)[0:5])
文件“C:\ProgramData\Anaconda3\lib\site-packages\sklearn\linear_model\base.py”,第 268 行,预测返回 self._decision_function(X)
文件“C:\ProgramData\Anaconda3\lib\site-packages\sklearn\linear_model\base.py”,第 251 行,在 _decision_function X = check_array(X, accept_sparse=['csr', 'csc', 'coo'] )
文件“C:\ProgramData\Anaconda3\lib\site-packages\sklearn\utils\validation.py”,第 424 行,在 check_array 上下文中))
ValueError: 找到具有 0 个特征的数组 (shape=(1, 0)),而至少需要 1 个。