근거로서의 가중치
Coddy Machine Learning 여정의 지도 학습 섹션에 포함된 레슨. 58개 중 18번째.
매장 방문자가 구매하게 만드는 요인은 무엇일까요? 특성의 척도를 조정해 모든 가중치가 표준편차 단위가 되도록 한 다음, 가중치를 근거로 읽어 보세요:
X_scaled = StandardScaler().fit_transform(visits)
model = LogisticRegression(max_iter=1000)
model.fit(X_scaled, bought)
print(np.round(model.coef_[0], 2)) # 가중치 한 행열의 순서대로 가중치를 출력합니다:
[ 0.87 0.12 -0.3 -0.72]부호는 방향을 나타냅니다. 양수는 클래스 1(매수) 쪽으로 밀고, 음수는 반대 방향으로 밀어냅니다. 크기는 강도를 나타냅니다.
스케일링을 하면 크기를 비교할 수 있습니다. 스케일링하지 않으면 센트 단위의 가격은 달러 단위 가격보다 가중치가 100배 작아집니다.
챌린지
중급언어 학습 앱에서 30일 연속 기록을 유지하거나 강좌를 완료하는 데 어떤 습관이 관련되는지 묻습니다. learners.csv에는 6개의 특성과 두 레이블이 있으며, 프로그램은 분석할 레이블을 읽습니다. 시작 코드에서 데이터를 분할하고 스케일을 조정합니다.
- 스케일 조정된 학습 행에
LogisticRegression을 학습시킵니다. - 모든 가중치를 큰 순서대로(소수점 이하 2자리) 방향과 함께 출력합니다.
- 어느 쪽이든 가장 강력한 근거를 출력합니다.
다른 앱의 경우:
friends: 1.02, pushes toward yes
reminder_on: 0.42, pushes toward yes
age: 0.06, pushes toward yes
daily_goal_min: -0.11, pushes toward no
lessons_week1: -0.2, pushes toward no
night_owl: -0.64, pushes toward no
Strongest evidence: friends직접 해보기
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
learners = pd.read_csv("learners.csv")
features = ["daily_goal_min", "friends", "reminder_on", "lessons_week1", "night_owl", "age"]
label = input() # kept_streak 또는 finished_course
X_train, X_test, y_train, y_test = train_test_split(learners[features], learners[label], test_size=0.25, random_state=0)
scaler = StandardScaler()
X_train_s = scaler.fit_transform(X_train)
# 아래에 코드를 작성하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
지도 학습의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러