Я новичок в 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
Как правильно это сделать?
Это не работает из-за того, что вы используете обучающий классификатор supervised
и пытаетесь использовать его как классификатор unsupervised
. Вы не можете просто ожидать, что базовая реализация классификатора BayesianRidge
изменится только потому, что вы не предоставляете переменную target
, то есть y
. Если вы посмотрите документацию здесь, вы увидите, что y
не является необязательным аргументом. Изображение по ссылке для справки:
Во-вторых, это не проблема неконтролируемого обучения. Этот набор данных, который вы упомянули, предназначен для регрессии. Так что здесь не имеет смысла использовать неконтролируемое обучение.
@ k.ko3n Нет, это все равно будет неправильно. Вы не можете построить y
из X
. Вы все еще используете набор данных о жилье, упомянутый в вопросе выше?
Я использовал пример и данные в вопросе только для обучения. Для моей реальной задачи я использую свои данные, но доступны только X
. Я не знаю, как и где получить y
.
@ k.ko3n Можете ли вы дать более подробную информацию о наборе данных? Не значения, а только информацию о столбцах и о том, какую проблему вы пытаетесь решить. Насколько я понимаю, в этом случае вам нужно использовать неконтролируемый классификатор, но мне нужно больше пояснений, чтобы помочь вам в дальнейшем. Было бы лучше, если бы вы разместили эти детали в виде отдельного вопроса, и я мог бы вам помочь.
Я перефразировал проблему в новом посте. stackoverflow.com/questions/57154209/…. Спасибо за внимание.
Спасибо, @Мохаммед Кашиф. Первоначальная проблема заключалась в том, что у меня нет
variable vector
,y.
у меня есть только необработанные данные,X
. Правильно ли я создамy
изX
, используя функциюtrain_test_split()
?