0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 5

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

13.12.2022, 09:32. Показов 3215. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru