Menu
CoddyTech

Várias características

Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 12 de 58.

O preço de uma casa depende de mais do que o tamanho: uma longa caminhada até a estação reduz o preço. Aprendendo com ambos, um modelo traça linhas paralelas:

Dez casas como pontos, preço em relação à área: casas perto da estação em azul, as distantes como quadrados laranja. Duas linhas paralelas do modelo, para uma caminhada de 5 e de 25 minutos; a linha de 25 minutos fica 102 mil dólares abaixo em todos os tamanhos

No código, X obtém as duas colunas e coef_ um peso por característica:

X = houses[["area_m2", "minutes_walk"]]
model = LinearRegression()
model.fit(X, houses["price"])
print(np.round(model.coef_, 1))

Isso imprime:

[ 2.6 -5.1]

Os pesos seguem as colunas de X. Cada m² adicional acrescenta 2,6 mil dólares; cada minuto a mais de caminhada reduz o valor em 5,1 mil, mantendo a outra característica constante.

A unidade de um peso é a unidade do alvo por unidade do seu recurso: milhares por m², por minuto.

challenge icon

Desafio

Médio

Um serviço de buffet faz orçamentos para novos eventos com base em 40 eventos anteriores em events.csv: guests, courses, months_ahead (com quanta antecedência foi reservado) e cost em dólares. O código inicial lê um novo evento em new_event.

  1. Ajuste uma LinearRegression do custo em função das features.
  2. Para cada característica, imprima quanto uma unidade a mais acrescenta ou desconta (2 casas decimais).
  3. Imprima o orçamento do novo evento (2 casas decimais).

Para outro serviço de buffet:

Each extra guest adds 41.5 dollars
Each extra course adds 198.25 dollars
Each extra month booked ahead takes off 22.8 dollars
Quote: 4312.6 dollars

Experimente você mesmo

import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression

# Uma linha por evento passado: convidados, pratos, meses de antecedência da reserva, custo em dólares
events = pd.read_csv("events.csv")
features = ["guests", "courses", "months_ahead"]
units = ["guest", "course", "month booked ahead"]
# O novo evento, como uma tabela de uma linha
guests = int(input())
courses = int(input())
months = int(input())
new_event = pd.DataFrame({"guests": [guests], "courses": [courses], "months_ahead": [months]})

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Aprendizado supervisionado

Pratique por conta própria: Compilador de Python online