Как реализовать cross_val_score с BayesianRidge, используя обучение без учителя?

Я новичок в sklearn.
Моя цель - оценить оценку набора данных, используя cross_val_score с оценкой BayesianRidge. Это должно быть реализовано с помощью unsupervised learning. Приведенный ниже код взят из sklearn, за исключением того, что target variable, y исключены.
Данные взяты from sklearn.datasets import fetch_california_housing.

estimator = BayesianRidge()
score_full_data = pd.DataFrame(cross_val_score(br_estimator, X=X, y=None, scoring='neg_mean_squared_error', cv=5), columns=['Data'])

Я получил TypeError: fit() missing 1 required positional argument: 'y'.
Ожидаемый результат:

Data
0   -0.408433
1   -0.636009
2   -0.614910
3   -1.089616
4   -0.407541

Как правильно это сделать?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
158
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это не работает из-за того, что вы используете обучающий классификатор supervised и пытаетесь использовать его как классификатор unsupervised. Вы не можете просто ожидать, что базовая реализация классификатора BayesianRidge изменится только потому, что вы не предоставляете переменную target, то есть y. Если вы посмотрите документацию здесь, вы увидите, что y не является необязательным аргументом. Изображение по ссылке для справки:

Источник изображения

Во-вторых, это не проблема неконтролируемого обучения. Этот набор данных, который вы упомянули, предназначен для регрессии. Так что здесь не имеет смысла использовать неконтролируемое обучение.

Спасибо, @Мохаммед Кашиф. Первоначальная проблема заключалась в том, что у меня нет variable vector, y. у меня есть только необработанные данные, X. Правильно ли я создам y из X, используя функцию train_test_split()?

k.ko3n 21.07.2019 10:14

@ k.ko3n Нет, это все равно будет неправильно. Вы не можете построить y из X. Вы все еще используете набор данных о жилье, упомянутый в вопросе выше?

Gambit1614 21.07.2019 12:58

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

k.ko3n 21.07.2019 19:52

@ k.ko3n Можете ли вы дать более подробную информацию о наборе данных? Не значения, а только информацию о столбцах и о том, какую проблему вы пытаетесь решить. Насколько я понимаю, в этом случае вам нужно использовать неконтролируемый классификатор, но мне нужно больше пояснений, чтобы помочь вам в дальнейшем. Было бы лучше, если бы вы разместили эти детали в виде отдельного вопроса, и я мог бы вам помочь.

Gambit1614 21.07.2019 22:10

Я перефразировал проблему в новом посте. stackoverflow.com/questions/57154209/…. Спасибо за внимание.

k.ko3n 22.07.2019 23:53

Другие вопросы по теме