Menu
CoddyTech

Повторение: решения по кредитам

Часть раздела Обучение с учителем путешествия по Machine Learning на Coddy. Урок 31 из 58.

challenge icon

Задание

Средне

Помнишь кредит для фермы, о котором обещали рассказать в этой главе? Фонд микрокредитования хочет дерево решений, которое можно объяснить фермерам. В стартовом коде разделяются данные о выданных ранее кредитах.

  1. Обучай деревья, начиная с глубины 1 (random_state=0), и выводи точность на тестовых данных для каждого дерева. Остановись на первой глубине, на которой результат не лучше, чем на предыдущей.
  2. Оставь последнюю глубину, на которой результат улучшился: выведи её и вопросы этого дерева.
  3. Выведи два наиболее важных признака, как показано ниже.

Для другого фонда:

Depth 1: test accuracy 0.650
Depth 2: test accuracy 0.850
Depth 3: test accuracy 0.833
Keep depth 2
|--- savings_usd <= 154.50
|   |--- earlier_loans <= 0.50
|   |   |--- class: 0
|   |--- earlier_loans >  0.50
|   |   |--- class: 1
|--- savings_usd >  154.50
|   |--- earlier_loans <= 0.50
|   |   |--- class: 1
|   |--- earlier_loans >  0.50
|   |   |--- class: 1

Most important: savings_usd (0.563)
Next: earlier_loans (0.437)

Попробуйте сами

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_text

# Ранее выданные микрозаймы небольшим фермерским хозяйствам: 1 в repaid означает, что заём был погашен полностью
loans = pd.read_csv("loans.csv")
features = ["amount_usd", "income_usd", "years_farming", "earlier_loans", "savings_usd", "group_size"]
X_train, X_test, y_train, y_test = train_test_split(loans[features], loans["repaid"], test_size=0.25, random_state=0)

# Напишите свой код ниже

Все уроки раздела Обучение с учителем

Потренируйтесь самостоятельно: Онлайн-компилятор Python