Próbuję wykonać prostą regresję liniową, ale zdumiewa mnie ten błąd:
regr = LinearRegression()
regr.fit(df2.iloc[1:1000, 5].values, df2.iloc[1:1000, 2].values)
który produkuje:
ValueError: Found arrays with inconsistent numbers of samples: [ 1 999]
Te wybory muszą mieć te same wymiary i powinny to być tablice numpy, więc czego mi brakuje?
scikit-learn
słoneczny
źródło
źródło
Wygląda na to, że używasz pandy dataframe (od nazwy df2).
Możesz też wykonać następujące czynności:
UWAGA: Usunąłem „wartości”, ponieważ konwertuje to serię pand na numpy.ndarray, a numpy.ndarray nie ma atrybutu to_frame ().
źródło
Widziane na kursie dotyczącym głębokiego uczenia się Udacity:
źródło
Myślę, że argument „X” funkcji regr.fit musi być macierzą, więc poniższe powinno działać.
źródło
Napotkałem ten błąd, ponieważ przekonwertowałem moje dane na plik
np.array
. Rozwiązałem problem, konwertując moje dane nanp.matrix
format i wykonując transpozycję.ValueError:
regr.fit(np.array(x_list), np.array(y_list))
Poprawny:
regr.fit(np.transpose(np.matrix(x_list)), np.transpose(np.matrix(y_list)))
źródło
Spróbuj umieścić swoje funkcje w takiej krotce:
źródło
Miałem podobny problem. Problem w moim przypadku polegał na tym, że liczba wierszy w X nie była równa liczbie wierszy w y.
tj. liczba wpisów w kolumnach cech nie była równa liczbie pozycji w zmiennej docelowej, ponieważ usunąłem niektóre wiersze z kolumn swobodnych.
źródło
Aby przeanalizować dwie tablice (tablica1 i tablica2), muszą spełnić następujące dwa wymagania:
1) Muszą być numpy.ndarray
Sprawdź z
Jeśli tak nie jest, przynajmniej jeden z nich wystąpi
2) Wymiary muszą być następujące:
N to liczba elementów w tablicy. Aby zapewnić tablicy1 odpowiednią liczbę osi, wykonaj:
źródło
Jak wspomniano powyżej argument X musi być macierzą lub tablicą numpy o znanych wymiarach. Więc prawdopodobnie możesz użyć tego:
Więc twoja ramka danych zostanie przekonwertowana na tablicę o znanych wymiarach i nie będziesz musiał jej zmieniać kształtu
źródło
Czasami miałem ten sam problem. Powodem były tablice o różnych rozmiarach.
źródło
podczas testu pociągu mogłeś popełnić błąd
Powyższy kod jest poprawny
Mogłeś zrobić jak poniżej, co jest błędne
źródło