ошибка sklearn train_test_split: обнаружены входные переменные с несогласованным количеством выборок

#python #arrays #reshape #logistic-regression #shapes

#python #массивы #изменить форму #логистическая регрессия #формы

Вопрос:

 x = dummiesfinal.iloc[9]
y = dummiesfinal.iloc[0:8,10:47]
x = np.array(x).T.reshape(-1,1)
y = np.array(y)
np.shape(x)
(48, 1)
np.shape(y)
(8, 37)
plt
from sklearn.model_selection import train_test_split
from matplotlib import pyplot as plt
x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.30)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-138-90e4256c22db> in <module>
      1 from sklearn.model_selection import train_test_split
      2 from matplotlib import pyplot as plt
----> 3 x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.30)

~anaconda3libsite-packagessklearnmodel_selection_split.py in train_test_split(*arrays, **options)
   2125         raise TypeError("Invalid parameters passed: %s" % str(options))
   2126 
-> 2127     arrays = indexable(*arrays)
   2128 
   2129     n_samples = _num_samples(arrays[0])

~anaconda3libsite-packagessklearnutilsvalidation.py in indexable(*iterables)
    291     """
    292     result = [_make_indexable(X) for X in iterables]
--> 293     check_consistent_length(*result)
    294     return result
    295 

~anaconda3libsite-packagessklearnutilsvalidation.py in check_consistent_length(*arrays)
    254     uniques = np.unique(lengths)
    255     if len(uniques) > 1:
--> 256         raise ValueError("Found input variables with inconsistent numbers of"
    257                          " samples: %r" % [int(l) for l in lengths])
    258 

ValueError: Found input variables with inconsistent numbers of samples: [48, 8]

  

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

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

Спасибо

Комментарии:

1. Для работы LogisticRegression количество строк (т. Е. Количество выборок) в X, y должно быть одинаковым. В вашем случае количество выборок равно 48 и 8 соответственно. Вы могли бы попробовать изменить это.

2. Можете ли вы указать размеры x = dummiesfinal.iloc[9] и y = dummiesfinal.iloc[0:8,10:47]?

3. @sotmot x = dummiesfinal.iloc[9] ——-> целевая переменная y = dummiesfinal.iloc[0:8,10:47] ——-> Индекс ранжирования предикторов: 45211 записей, от 0 до 45210 столбцов данных (всего 48 столбцов):

4. я тоже не получаю изменение формы

5. похоже, вы используете iloc(). Вы планировали принимать значения строк dummiesfinal как x и y?