Machine Learning Academy · Lektion

ML-arbejdsgangen: Fra data til forudsigelse

Gennemgå hele processen fra indsamling og rensning af rådata til træning, evaluering og udrulning af en model.

Lektion 3 af 413 trin

ML-arbejdsgangen: Fra data til forudsigelse er en gratis Machine Learning Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Machine Learning Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Machine Learning Academy-kurset indeholder 4 lektioner i alt.

ML-pipelinen fra start til slut

At bygge ML handler om mere end at træne en model – det er en hel pipeline. Når du kender alle trinene, undgår du at skynde dig direkte til modellering for tidligt.

Trin 1: Definer problemet

Første trin er at definere problemet: Hvad forudsiger du, hvorfor er det vigtigt, og hvordan måler du succes? Uklare mål giver uklare modeller.

Trin 2: Indsaml og indlæs data

Dernæst skal du indsamle og indlæse dine data fra filer, databaser eller API'er – Pandas er det oplagte værktøj. Undersøg altid rådataene, før du gør noget andet.

import pandas as pd

# Load data from a CSV file
df = pd.read_csv('housing.csv')

# First inspection
print(df.shape)       # (rows, columns)
print(df.dtypes)      # data types per column
print(df.head())      # first 5 rows
print(df.describe())  # summary statistics

Trin 3: Undersøgende dataanalyse

Undersøgende dataanalyse er detektivarbejde: Tegn fordelinger, undersøg korrelationer, og led efter afvigelser, før du bygger en model.

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

df = pd.read_csv('housing.csv')

# Distribution of target variable
df['price'].hist(bins=50)
plt.title('House Price Distribution')
plt.show()

# Correlation heat map
sns.heatmap(df.corr(), annot=True, cmap='coolwarm')
plt.show()

# Check for missing values
print(df.isnull().sum())

Trin 4: Forbehandl dataene

Forbehandling omdanner rodede data til en ren feature-matrice – ved at udfylde mangler, skalere og kode data. Den gyldne regel er kun at tilpasse på træningsdata for at undgå lækage.

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import pandas as pd
import numpy as np

df = pd.read_csv('housing.csv')
X = df.drop('price', axis=1)
y = df['price']

# Split first, then fit scaler ONLY on train
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)  # fit + transform on train
X_test_scaled = scaler.transform(X_test)         # transform only on test

Trin 5: Træn modellen

Nu skal du træne modellen: I scikit-learn kræver det ét kald til fit(). Start enkelt med en baseline som en lineær model, før du vælger noget mere komplekst.

from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor

# Simple baseline first
linear_model = LinearRegression()
linear_model.fit(X_train_scaled, y_train)

# More complex model
rf_model = RandomForestRegressor(n_estimators=100, random_state=42)
rf_model.fit(X_train_scaled, y_train)

print('Linear model trained.')
print('Random Forest trained.')

Trin 6: Evaluer modellen

Evaluer på testdata, som modellen ikke har set. Vælg den rigtige metrik – MAE og RMSE til tal samt nøjagtighed og F1 til kategorier.

from sklearn.metrics import mean_absolute_error, r2_score
import numpy as np

y_pred = linear_model.predict(X_test_scaled)

mae = mean_absolute_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
rmse = np.sqrt(((y_test - y_pred) ** 2).mean())

print(f'MAE:  {mae:.2f}')
print(f'RMSE: {rmse:.2f}')
print(f'R2:   {r2:.3f}')

Trin 7: Gentag og forbedr

Den første model er sjældent den bedste. ML er iterativt: Brug resultaterne til at indsamle flere data, konstruere features eller justere indstillinger – og prøv så igen.

Trin 8: Implementer modellen

Implementering gør din trænede model tilgængelig for virkelige brugere – ofte som en web-API, et batchjob eller en model på enheden i en app. En notebook alene skaber ingen værdi.

import joblib

# Save the trained model
joblib.dump(linear_model, 'house_price_model.pkl')
print('Model saved.')

# Later, load and predict in production
loaded_model = joblib.load('house_price_model.pkl')
prediction = loaded_model.predict(X_test_scaled[:1])
print(f'Prediction: ${prediction[0]:,.0f}')

Trin 9: Overvåg og træn igen

Implementering er ikke målstregen. Data ændrer sig over tid, så du har brug for overvågning til at opdage stille fald i ydeevnen og starte ny træning efter behov.

Arbejdsgangen som en scikit-learn-pipeline

En scikit-learn-Pipeline samler forbehandling og modellering i ét objekt. Den forhindrer lækage og gør implementeringen enklere – du skal kun gemme og indlæse én ting.

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression

# Chain preprocessing and model in one object
pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('model', LinearRegression())
])

# fit() applies scaler then trains the model
pipeline.fit(X_train, y_train)

# predict() applies scaler then predicts
y_pred = pipeline.predict(X_test)
print('Pipeline prediction done.')

Hurtigt tjek

Test din forståelse af Machine Learning med Python-begreber fra denne lektion.

Opsummering af lektionen

Flotte fremskridt! ML-arbejdsgangen går fra problemdefinition til overvågning, forbehandling tilpasses kun på træningsdata, og implementering er begyndelsen, ikke slutningen.

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “ML-arbejdsgangen: Fra data til forudsigelse” gratis?

Ja — hele teksten til “ML-arbejdsgangen: Fra data til forudsigelse” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Machine Learning Academy-kurset, skal du opgradere til CoddyKit PRO. Machine Learning Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “ML-arbejdsgangen: Fra data til forudsigelse”?

Gennemgå hele processen fra indsamling og rensning af rådata til træning, evaluering og udrulning af en model. Du øver dig i Machine Learning Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Machine Learning Academy?

Der kræves ingen tidligere erfaring. Machine Learning Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “ML-arbejdsgangen: Fra data til forudsigelse”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Machine Learning Academy-lektion?

Ja. Alle Machine Learning Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Traditionel programmering eller machine learning
  2. Supervised, unsupervised og reinforcement learning
  3. ML-arbejdsgangen: Fra data til forudsigelse
  4. ML i den virkelige verden: Anvendelser og begrænsninger
← Tilbage til Machine Learning Academy