импортировать CSV в OrderedDict и прогнозировать с помощью регрессии - PullRequest
0 голосов
/ 10 декабря 2018

Я строю регрессионную модель для прогнозирования энергии (1 столбец) из 5 переменных (5 столбцов) ... Я использовал свои экспериментальные данные для обучения и подгонки модели, и она работает с хорошим счетом ...

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)

но теперь я хочу добавить новый CSV-файл, содержащий новые данные для упомянутых 5 переменных, в OrderedDict и использовать модель для прогнозирования энергии ...

с кодом ниже, я вручную вставляю строку за строкой, и этоправильно предсказать энергию

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: установка элемента массива с последовательностью.

Может кто-нибудь мне помочь ??

...