Использование срезов в Python

Я использую набор данных из репозитория UCI: http://archive.ics.uci.edu/ml/datasets/Energy+efficiency Затем следующее:

from pandas import * from sklearn.neighbors import KNeighborsRegressor from sklearn.linear_model import LinearRegression, LogisticRegression from sklearn.svm import SVR from sklearn.ensemble import RandomForestRegressor from sklearn.metrics import r2_score from sklearn.cross_validation import train_test_split dataset = read_excel('/Users/Half_Pint_boy/Desktop/ENB2012_data.xlsx') dataset = dataset.drop(['X1','X4'], axis=1) trg = dataset[['Y1','Y2']] trn = dataset.drop(['Y1','Y2'], axis=1) 

Затем выполните модели и перекрестные проверки:

 models = [LinearRegression(), RandomForestRegressor(n_estimators=100, max_features ='sqrt'), KNeighborsRegressor(n_neighbors=6), SVR(kernel='linear'), LogisticRegression() ] Xtrn, Xtest, Ytrn, Ytest = train_test_split(trn, trg, test_size=0.4) 

Я создаю регрессионную модель для прогнозирования значений, но имею проблемы. Вот код:

 TestModels = DataFrame() tmp = {} for model in models: m = str(model) tmp['Model'] = m[:m.index('(')] for i in range(Ytrn.shape[1]): model.fit(Xtrn, Ytrn[:,i]) tmp[str(i+1)] = r2_score(Ytest[:,0], model.predict(Xtest)) TestModels = TestModels.append([tmp]) TestModels.set_index('Model', inplace=True) 

Он отображает нераспаковываемый тип: «slice» для строки model.fit (Xtrn, Ytrn [:, i])

Как его можно избежать и заставить работать?

Благодаря!

One Solution collect form web for “Использование срезов в Python”

Я думаю, что раньше у меня была аналогичная проблема! Попытайтесь преобразовать свои данные в массивы numpy, прежде чем sklearn их в sklearn оценки. Это, скорее всего, решает проблему хэширования. Например, вы можете:

 Xtrn_array = Xtrn.as_matrix() Ytrn_array = Ytrn.as_matrix() 

и используйте Xtrn_array и Ytrn_array, когда вы вписываете свои данные в оценки.

  • ValueError: установка элемента массива с последовательностью
  • Какова точка зрения в пандах, если не определено, возвращает ли операция индексирования представление или копию?
  • Установить значение первого элемента в разрезе в python pandas
  • Как принимать столбцы-фрагменты данных в пандах
  • В Python, как мне удалить элемент списка Nth из списка списков (удаление столбцов)?
  • Изменение нескольких элементов массива Numpy с использованием разрезания на Python
  • Почему .loc ведет себя по-разному в зависимости от того, печатаются или назначены значения?
  • Python: одиночная двоеточие против двойной кишки
  • изменять размер с усреднением или повторять массив numd 2d
  • Как разрезать нумерованные списки в подсписках
  • Хранить многомерный массив массива numpy с newaxis для объекта
  • Python - лучший язык программирования в мире.