Форум программистов, компьютерный форум, киберфорум
Python: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 5

Начал изучать библиотеку scikit-learn(skilearn), Ошибка

13.12.2022, 09:32. Показов 3202. Ответов 6

Студворк — интернет-сервис помощи студентам
Всем общий. Я начал изучение библиотеки scikit-learn(skilearn), все это делаю на среде pycharm. Показывает проблему на этой строке
model = LinearRegression().fit(x_train, y_train)

В чем проблема? все делал по формату как на документациях и в инете эту функцию. Может я туплю где то понять не могу СГИН....
Ошибка на pycharm вот так выдает(Путь-каталог весь правильный просто на всякий убрал):

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
C:\Users\ C:\Users\
Traceback (most recent call last):
  File "C:\Users", line 48, in <module>
    LinearRegression = LinearRegression().fit(x_train, y_train)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users", line 684, in fit
    X, y = self._validate_data(
           ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users", line 596, in _validate_data
    X, y = check_X_y(X, y, **check_params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users", line 1074, in check_X_y
    X = check_array(
        ^^^^^^^^^^^^
  File "C:\Users", line 899, in check_array
    _assert_all_finite(
  File "C:\Users", line 146, in _assert_all_finite
    raise ValueError(msg_err)
ValueError: Input X contains NaN.
LinearRegression does not accept missing values encoded as NaN natively. For supervised learning, you might want to consider sklearn.ensemble.HistGradientBoostingClassifier and Regressor which accept missing values encoded as NaNs natively. Alternatively, it is possible to preprocess the data, for instance by using an imputer transformer in a pipeline or drop samples with missing values. See [url]https://scikit-learn.org/stable/modules/impute.html[/url] You can find a list of all estimators that handle NaN values at the following page: [url]https://scikit-learn.org/stable/modules/impute.html#estimators-that-handle-nan-values[/url]
Process finished with exit code 1
Сам код снизу:


i
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
mport pandas as pd
import matplotlib.pyplot as plt
from sklearn import svm
from sklearn import datasets
from sklearn.model_selection import train_test_split
import numpy as np
from sklearn.linear_model import LinearRegression
 
data = pd.read_csv('AB_NYC_2019.csv')
data = data[data['neighbourhood_group'] == 'Brooklyn']
 
def calculate_slope(x, y):
    mx = x - x.mean()
    my = y - y.mean()
    return sum(mx * my) / sum(mx**2)
def get_params(x, y):
    a = calculate_slope(x, y)
    b = y.mean() - a * x.mean()
    return a, b
 
 
d = data[data.price > 0]
x = d.number_of_reviews
y = np.log(d.price)
a, b = get_params(x, y)
 
lin_reg = a*x + b
 
plt.xlabel('Количество отзывов')
plt.ylabel('Цена в логарифмическом масштабе')
plt.scatter(x, y)
plt.plot(x, lin_reg, color='red')
 
 
d = data[data.price > 0]
d['reviews_per_month'].fillna(0)
 
x = d.loc[:, ('reviews_per_month',
              'calculated_host_listings_count',
              'number_of_reviews')]
y = d.loc[:, 'price']
 
 
x_train, x_test, y_train, y_test = \
    train_test_split(x, y, test_size=0.2)
 
 
model = LinearRegression().fit(x_train, y_train)
 
y_pred = model.predict(x_test)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2022, 09:32
Ответы с готовыми решениями:

Ошибка установки scikit-learn
Не могу установить scikit-learn (sklearn) в Python 10.5 Windows32. pip install sklearn пытается установить версию 1.9.3 и выдает ошибку. ...

Кто разбирается в scikit-learn ? (классификатор)
Есть программы, которые позволяют определить, к какому классу новостей относится та, или иная статья. Также они позволяляют вывести...

Изменения местоположения классов и функций в библиотека scikit-learn
Всем бобра! Уважаемые форумчане, помогите новичку разобраться со следующим вопросом: Взялся за книгу &quot;Искусственный интеллект с...

6
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
14.12.2022, 06:13
Какое слово в описании ошибки непонятно?

ValueError: Input X contains NaN.
LinearRegression does not accept missing values encoded as NaN natively
0
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 5
14.12.2022, 06:54  [ТС]
Добавлено через 2 минуты
Red white socks, Во первых ава топчик. Во вторых я исправлял до этого на

Python
1
d['reviews_per_month'].fillna(0, inplace=True)
выдавала ошибку

SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation:

d['reviews_per_month'].fillna(0, inplace=True)

Добавлено через 17 минут
Red white socks, Только что исправил на

Python
1
d = d.fillna(0)
код запустился без ошибок но мне нужна чтобы было
'reviews_per_month'

Типа такого

Python
1
d = d['reviews_per_month'].fillna(0)
но выдает ошибку теперь так

Traceback (most recent call last):
File "C:\Users", line 38, in <module>
x = d.loc[:, ('reviews_per_month', 'calculated_host_listings_count', 'number_of_reviews')]
~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^
File "C:\Users", line 1067, in __getitem__
return self._getitem_tuple(key)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users", line 1250, in _getitem_tuple
tup = self._validate_tuple_indexer(tup)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users", line 869, in _validate_tuple_indexer
key = self._validate_key_length(key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users", line 908, in _validate_key_length
raise IndexingError("Too many indexers")
pandas.errors.IndexingError: Too many indexers
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
14.12.2022, 07:17
Лучший ответ Сообщение было отмечено FARA7182 как решение

Решение

Охохо...
Python
1
d['reviews_per_month'] = d['reviews_per_month'].fillna(0)
Добавлено через 10 минут
И к слову, данных я не видел, но ноль не выглядит хорошим значением для пропущенных значений.
Если пропущенных немного, то заменяйте на среднее по столбцу или просто отфильтруйтесь
Python
1
d = d[d['reviews_per_month'].notnull()]
0
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 5
14.12.2022, 07:27  [ТС]
Red white socks, я исправил как вы написали

Python
1
d['reviews_per_month'] = d['reviews_per_month'].fillna(0)
вышло

SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead


See the caveats in the documentation:

d['reviews_per_month'] = d['reviews_per_month'].fillna(0)


Наверно поэтому что ноль как вы сказали поставил выдала ошибку попробую среднюю столбцов поставить цифру
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
14.12.2022, 07:43
Это не ошибка, а warning, не обращай внимания
0
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 5
14.12.2022, 07:48  [ТС]
Red white socks, от души, С наступающим НГ. Ты крутой Дата сайнтист (Data Scientist)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2022, 07:48
Помогаю со студенческими работами здесь

Обучение модели с scikit learn
Здравствуйте. Подскажите, пожалуйста, как мне указать, что данные строки в обучающейся модели относится к категории 1, а остальные к...

Несовместимость matplotlib и scikit-learn
Visual Studio 2019, 3.8, 64-bit. Установлена среда matplotlib 3.3.1, работает нормально, графики рисует. После установки среды...

Подскажите где ошибка, только начал изучать данный язык
Program arrays; var A: array of integer; i: integer; begin for i:=0 to 7 do A := i; write(A); end.

Только что начал изучать, однако не компилируется. Подскажите, пожалуйста в чем моя ошибка?
// 2_2010.cpp : main project file. // #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; int main() { int fahr ...

начал изучать с++
начал учить с++, мне порекомендовали купить &quot;Полный справочник по С++&quot; Герберта Шилдта , купил, но вот в чем проблема - примеры программ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru