Построить регрессионную модель дерева решений и прогнозировать результаты выборки - Машинное обучение - PullRequest
0 голосов
/ 12 февраля 2020

Я новичок в машинном обучении. Когда я практикую регрессионную модель дерева решений с параметрами по умолчанию, используя набор данных из Бостона из модуля scikit-learn.

После этого решения для связи ( Как построить модель регрессора для дерева решений ) я напечатал точность модели на наборе обучающих данных с помощью

print(dt_reg.score(X_train,Y_train)))
print(dt_reg.score(X_test,Y_test)))

Теперь я столкнулся с проблемой с помощью: выведите прогнозируемую цену жилья для первых двух образцов набора X_test . Для этого я написал как ниже, но не получаю правильный вывод. Не могли бы вы помочь мне спрогнозировать первые 2 образца набора данных X_test.

predicted = dt_reg.predict(X_test)

for i in range(2):
    print("Predict housing price",predicted[i])

1 Ответ

0 голосов
/ 12 февраля 2020

В демонстрационных целях, давайте посмотрим полный код. Допустим, вы тренируете свою регрессионную модель следующим образом:

from sklearn import datasets, model_selection, tree

boston = datasets.load_boston()

x_train, x_test, y_train, y_test = model_selection.train_test_split(boston.data,boston.target, random_state=30)

dt  = tree.DecisionTreeRegressor()

dt_reg = dt.fit(x_train, y_train)

Теперь напечатайте оценки train и test:

print(dt_reg.score(x_train, y_train))
print(dt_reg.score(x_test, y_test))
>> 1.0
>> 0.5826465689845075

Давайте посмотрим, как прогнозируется на тестовых данных выглядит так:

predicted = dt_reg.predict(x_test)
print(predicted)
>> array([18.2, 12.8, 20.1, 30.1, 14.5, .....])

Теперь выберите и распечатайте результаты прогнозирования на первых двух тестовых образцах:

for i in predicted[:2]:
    print(i)
>> 18.2
>> 12.8
...