Erste Schritte mit maschinellem Lernen in Python

Python ist aufgrund seiner einfachen Erlernbarkeit, der leistungsstarken Bibliotheksunterstützung und des Community-Ökosystems eine der am häufigsten verwendeten Programmiersprachen im maschinellen Lernen.

Als Nächstes erkläre ich Schritt für Schritt, wie Sie mit Python in das maschinelle Lernen einsteigen, und stelle einige gängige Bibliotheken vor, die Sie benötigen werden.

Python und notwendige Bibliotheken installieren

Methode 1: Offizieller Installer

Stellen Sie zunächst sicher, dass Sie Python installiert haben. Sie können die offizielle Python-Websitehttps://www.python.org/besuchen, um die neueste Version herunterzuladen und zu installieren.

Windows-System:

# 1. 下载安装程序后运行
# 2. 勾选 "Add Python to PATH"
# 3. 选择 "Install for all users"
# 4. 点击 "Install" 开始安装

macOS-System:

# 方法1:使用官网安装包
# 下载 .pkg 文件并双击安装
# 方法2:使用 Homebrew
brew install python3

Linux-System:

# Ubuntu/Debian
sudo apt update
sudo apt install python3 python3-pip
# CentOS/RHEL
sudo yum install python3 python3-pip

Methode 2: Anaconda-Distribution

Anaconda ist eine Python-Distribution, die speziell für Data Science entwickelt wurde, ähnlich wie eine "Machine-Learning-Toolbox" mit allen vorinstallierten Tools.

Vorteile von Anaconda

  1. Vorinstallierte gängige Bibliotheken: NumPy, Pandas, Scikit-learn, usw.
  2. Umgebungsverwaltung: conda-Befehle verwalten virtuelle Umgebungen
  3. Grafische Oberfläche: Anaconda Navigator bietet visuelle Operationen
  4. Plattformübergreifend: Unterstützt alle wichtigen Betriebssysteme

Anaconda installieren

  1. Besuchen Siehttps://www.anaconda.com/products/distribution
  2. Laden Sie das Installationspaket für Ihr System herunter
  3. Führen Sie das Installationsprogramm aus und folgen Sie den Anweisungen, um die Installation abzuschließen

Installation überprüfen:

conda --version
python --version

Wenn Sie mit Python noch nicht vertraut sind, können Sie zunächst unserPython-Tutorial durcharbeiten。

Wenn Sie mit Conda noch nicht vertraut sind, können Sie zunächst unserAnaconda-Tutorial durcharbeiten。

Es wird empfohlen, Anaconda für die Erstellung virtueller Umgebungen zu installieren.

Warum benötigen Sie virtuelle Umgebungen?

Eine virtuelle Umgebung ist wie eine eigenständige Küche, die für jedes Projekt vorbereitet wird, damit die „Gewürze“ (Bibliotheksversionen) verschiedener Projekte sich nicht gegenseitig stören.

Vorteile virtueller Umgebungen

  1. Abhängigkeitsisolierung: Verschiedene Projekte verwenden unterschiedliche Versionen von Bibliotheken
  2. Reproduzierbarkeit der Umgebung: Dieselbe Umgebung lässt sich bequem auf anderen Rechnern neu erstellen
  3. Berechtigungsverwaltung: Vermeiden, die System-Python-Umgebung zu verschmutzen
  4. Projektbereinigung: Beim Löschen des Projekts die zugehörige Umgebung löschen

Umgebungen mit conda verwalten

# 创建环境
conda create -n ml_env python=3.8
# 激活环境
conda activate ml_env
# 安装包
conda install numpy pandas scikit-learn
# 列出环境
conda env list
# 删除环境
conda env remove -n ml_env

Konfiguration der Entwicklungswerkzeuge

Jupyter Notebook

Jupyter Notebook ist ein digitales Labor für Datenwissenschaftler, das interaktive Programmierung und visuelle Präsentation unterstützt.

Jupyter installieren und starten

# 安装 Jupyter
pip install jupyter
# 启动 Jupyter Notebook
jupyter notebook
# 启动 Jupyter Lab(更现代的界面)
jupyter lab

Grundlegende Verwendung von Jupyter

Beispiel

# Beispiel für die Verwendung von Jupyter Notebook
# Führe den folgenden Code in Jupyter aus
# 1. Datenimport und -exploration
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Beispieldaten erstellen
data = {
    'Name': ['Zhang San', 'Li Si', 'Wang Wu', 'Zhao Liu'],
    'Age': [25, 30, 35, 28],
    'Stadt': ['Peking', 'Shanghai', 'Guangzhou', 'Shenzhen'],
    'Salary': [15000, 20000, 18000, 22000]
}
df = pd.DataFrame(data)
print("Datenvorschau:")
print(df.head())
# 2. Datenvisualisierung
plt.figure(figsize=(10, 4))
plt.subplot(1, 2, 1)
plt.bar(df['Name'], df['Age'])
plt.title('Age distribution')
plt.xlabel('Name')
plt.ylabel('Alter')
plt.subplot(1, 2, 2)
plt.bar(df['Name'], df['Salary'])
plt.title('Gehaltsverteilung')
plt.xlabel('Name')
plt.ylabel('Gehalt')
plt.tight_layout()
plt.show()
# 3. Einfache statistische Analyse
print("\n"Grundlegende statistische Informationen:")
print(df.describe())
print("\n"Verteilung der Städte:")
print(df['City'].value_counts())

VS-Code-Konfiguration

VS Code ist ein leichtgewichtiger und dennoch leistungsstarker Code-Editor, und durch Plugins kann er zu einer professionellen Entwicklungsumgebung für maschinelles Lernen werden.

Empfohlene Plugins

  1. Python: Offizielles Python-Plugin von Microsoft
  2. Jupyter: Unterstützt Jupyter Notebook
  3. Python Docstring Generator: Automatisch Docstrings generieren
  4. Bracket Pair Colorizer: Klammerpaar-Färbung
  5. GitLens: Git-Funktionalität erweitern

VS Code-Konfigurationsbeispiel

// .vscode/settings.json
{
    "python.defaultInterpreterPath": "./envs/ml_env/bin/python",
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "python.formatting.provider": "black",
    "python.testing.pytestEnabled": true,
    "jupyter.askForKernelRestart": false,
    "editor.fontSize": 14,
    "editor.tabSize": 4,
    "editor.insertSpaces": true
}

Installieren von Machine-Learning-Bibliotheken

Gängige Machine-Learning-Bibliotheken:

pip install numpy pandas matplotlib seaborn scikit-learn

Wenn Sie ein Deep-Learning-Framework verwenden möchten, installieren Sie Folgendes:

pip install torch  # 或者
pip install tensorflow

Verwandte Kurse:

Wenn Sie Python für maschinelles Lernen verwenden, folgt der gesamte Prozess im Allgemeinen diesen Schritten:

  1. Notwendige Bibliotheken importieren- Zum Beispiel NumPy, Pandas und Scikit-learn.

  2. Daten laden und vorbereiten- Daten sind der Kern des maschinellen Lernens. Sie müssen die Daten laden und die erforderliche Vorverarbeitung durchführen (z. B. Datenbereinigung, Imputation fehlender Werte usw.).

  3. Modelle und Algorithmen auswählen- Geeignete Algorithmen für maschinelles Lernen basierend auf der Aufgabe auswählen (z. B. lineare Regression, Entscheidungsbäume usw.).

  4. Das Modell trainieren- Verwenden Sie die Daten des Trainingssatzes, um das Modell zu trainieren.

  5. Das Modell bewerten- Verwenden Sie den Testsatz, um die Genauigkeit des Modells zu bewerten, und optimieren Sie das Modell basierend auf den Bewertungsergebnissen.

  6. Modell und Hyperparameter abstimmen- Passen Sie die Hyperparameter des Modells basierend auf den Bewertungsergebnissen an, um die Modellleistung weiter zu optimieren.


Ein einfaches Beispiel für maschinelles Lernen: Klassifikation mit Scikit-learn

Scikit-learn (abgekürzt als Sklearn) ist eine Open-Source-Bibliothek für maschinelles Lernen, die auf wissenschaftlichen Rechenbibliotheken wie NumPy, SciPy und matplotlib aufbaut und einfache und effiziente Werkzeuge für Data Mining und Datenanalyse bietet.

Scikit-learn enthält viele gängige Algorithmen für maschinelles Lernen, darunter:

  • Lineare Regression, Ridge-Regression, Lasso-Regression
  • Support-Vektor-Maschinen (SVM)
  • Entscheidungsbäume, Random Forests, Gradient-Boosting-Bäume
  • Clustering-Algorithmen (z. B. K-Means, hierarchisches Clustering, DBSCAN)
  • Techniken zur Dimensionsreduktion (z. B. PCA, t-SNE)
  • Neuronale Netze

Als Nächstes demonstrieren wir den Machine-Learning-Prozess anhand einer einfachen Klassifizierungsaufgabe – dem Iris-Datensatz. Der Iris-Datensatz ist ein klassischer Datensatz mit 150 Beispielen, der die Längen und Breiten der Blüten- und Kelchblätter dreier verschiedener Irisblütenarten beschreibt.

Schritt 1: Bibliotheken importieren

Importieren Sie die erforderlichen Python-Bibliotheken:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

Schritt 2: Daten laden

Laden Sie den Iris-Datensatz:

Beispiel

# Laden des Iris-Datensatzes
iris = load_iris()

# Konvertieren Sie die Daten in einen pandas DataFrame
X = pd.DataFrame(iris.data, columns=iris.feature_names)  # Merkmalsdaten
y = pd.Series(iris.target)  # Label-Daten

# Die ersten fünf Datenzeilen anzeigen
print(X.head())

Die ausgegebenen Daten lauten wie folgt:

   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
0                5.1               3.5                1.4               0.2
1                4.9               3.0                1.4               0.2
2                4.7               3.2                1.3               0.2
3                4.6               3.1                1.5               0.2
4                5.0               3.6                1.4               0.2

Schritt 3: Datensatz aufteilen

Teilen Sie den Datensatz in Trainings- und Testsets auf, typischerweise mit einem Verhältnis von 70 % Trainingsset zu 30 % Testset:

Beispiel

# Trainings- und Testsets aufteilen (80 % Training, 20 % Test)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Schritt 4: Merkmalskalierung (Standardisierung)

Viele Algorithmen des maschinellen Lernens hängen von der Skalierung der Merkmale ab, insbesondere Algorithmen wie K-Nearest Neighbors. Um sicherzustellen, dass jedes Merkmal einen Mittelwert von 0 und eine Standardabweichung von 1 hat, verwenden wir die Standardisierung, um die Daten zu verarbeiten:

Beispiel

# Merkmale standardisieren
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

Schritt 5: Modell auswählen und trainieren

In diesem Beispiel wählen wir den K-Nearest-Neighbors-(KNN-)Algorithmus für die Klassifikation:

Beispiel

# KNN-Klassifikator erstellen
knn = KNeighborsClassifier(n_neighbors=3)

# Modell trainieren
knn.fit(X_train, y_train)

Schritt 6: Modell bewerten

Nach dem Training verwenden wir das Testset, um die Genauigkeit des Modells zu bewerten:

Beispiel

# Testset vorhersagen
y_pred = knn.predict(X_test)

# Genauigkeit berechnen
accuracy = accuracy_score(y_test, y_pred)
print(f'Modellgenauigkeit: {accuracy:.2f}')

Nach dem Ausführen des obigen Codes lautet die Ausgabe:

模型准确率: 1.00

Schritt 7: Ergebnisse visualisieren (optional)

Sie können die Leistung des Modells durch Visualisierung besser verstehen, insbesondere bei mehrdimensionalen Datensätzen. Zum Beispiel können Sie ein 2D-Diagramm verwenden, um die KNN-Klassifikationsergebnisse anzuzeigen (allerdings müssen Sie die Dimensionalität der Daten auf zwei Dimensionen reduzieren).

Beispiel

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# Laden des Iris-Datensatzes
iris = load_iris()

# Daten in pandas DataFrame konvertieren
X = pd.DataFrame(iris.data, columns=iris.feature_names)  # Merkmalsdaten
y = pd.Series(iris.target)  # Label-Daten

# Trainings- und Testsets aufteilen (80 % Training, 20 % Test)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Merkmale standardisieren
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# KNN-Klassifikator erstellen
knn = KNeighborsClassifier(n_neighbors=3)

# Modell trainieren
knn.fit(X_train, y_train)

# Testset vorhersagen
y_pred = knn.predict(X_test)

# Genauigkeit berechnen
accuracy = accuracy_score(y_test, y_pred)

# Visualisierung – dies ist nur ein einfaches Beispiel; Sie können die Darstellungsmethode entsprechend der tatsächlichen Situation wählen
plt.scatter(X_test[:, 0], X_test[:, 1], c=y_pred, cmap='viridis', marker='o')
plt.title("KNN-Klassifikationsergebnisse")
plt.xlabel("Merkmal 1")
plt.ylabel("Merkmal 2")
plt.show()

Das Ausgabebild wird unten angezeigt:

Andere Erweiterungen