我建立了一个回归模型来从5个变量(5列)预测能量(1列)...我用我的实验数据来训练和拟合该模型,并且它的得分很高...
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('new.csv')
X = data.drop(['E'],1)
y = data['E']
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5 ,
random_state=2)
from sklearn import ensemble
clf1 = ensemble.GradientBoostingRegressor(n_estimators = 400, max_depth =5,
min_samples_split = 2, loss='ls',
learning_rate = 0.1)
clf1.fit(X_train, y_train)
clf1.score(X_test, y_test)
但是现在我想向OrderedDict添加一个新的csv文件,其中包含上述5个变量的新数据,并使用该模型预测能量...
使用以下代码,我逐行手动插入并正确预测能量
from collections import OrderedDict
new_data = OrderedDict([('H',48.52512), ('A',169.8379), ('P',55.52512),
('R',3.058758), ('Q',2038.055)])
new_data = pd.Series(new_data)
data = new_data.values.reshape(1, -1)
clf1.predict(data)
但是我无法使用庞大的数据集来做到这一点,需要导入csv文件...我做了下面的工作,但无法弄清楚....
data_2 = pd.read_csv('new2.csv')
X_new = OrderedDict(data_2)
new_data = pd.Series(X_new)
data = new_data.values.reshape(1, -1)
clf1.predict(data)
但是给我:ValueError:设置具有序列的数组元素。
有人可以帮助我吗?