Menu
CoddyTech

여러 특성

Coddy Machine Learning 여정의 지도 학습 섹션에 포함된 레슨. 58개 중 12번째.

집값은 크기뿐 아니라 여러 요인에 따라 달라집니다. 역까지 오래 걸어가야 하면 집값이 내려갑니다. 두 가지 요인을 모두 학습한 모델은 평행선을 그립니다:

점으로 표시된 집 10채의 가격 대 면적 그래프: 역 근처의 집은 파란색, 먼 집은 주황색 사각형으로 표시. 모델의 평행선 두 개는 도보 시간 5분과 25분을 나타내며, 25분 선은 모든 면적에서 10만 2천 달러 더 낮게 위치함

코드에서 X는 두 열을 모두 가져오고, coef_에는 특성마다 가중치 하나가 들어갑니다:

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

다음과 같이 출력됩니다:

[ 2.6 -5.1]

가중치는 X의 열을 따릅니다. 면적이 1m² 늘어날 때마다 2.6천 달러가 더해지고, 다른 특성이 그대로일 때 도보 시간이 1분 늘어날 때마다 5.1천 달러가 줄어듭니다.

가중치의 단위는 특성 단위당 목표값의 단위입니다. 즉, m²당 수천, 분당 수천입니다.

challenge icon

챌린지

중급
events.csv에는 guests, courses, months_ahead(얼마나 일찍 예약했는지), 그리고 달러 단위의 cost가 있습니다. 시작 코드는 새 행사를 new_event에 읽어옵니다.

  1. features를 사용해 비용에 대한 LinearRegression 모델을 학습시키세요.
  2. 각 특성에 대해 하나 추가될 때 비용이 얼마나 늘거나 줄어드는지 출력하세요(소수점 이하 2자리).
  3. 새 행사의 견적을 출력하세요(소수점 이하 2자리).

다른 케이터링 업체의 경우:

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

직접 해보기

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

# 지난 행사마다 한 행: 참석자 수, 코스 수, 예약한 개월 수, 달러 단위 비용
events = pd.read_csv("events.csv")
features = ["guests", "courses", "months_ahead"]
units = ["guest", "course", "month booked ahead"]
# 새 행사를 한 행짜리 표로 표현
guests = int(input())
courses = int(input())
months = int(input())
new_event = pd.DataFrame({"guests": [guests], "courses": [courses], "months_ahead": [months]})

# 아래에 코드를 작성하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

지도 학습의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러