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
- Vorinstallierte gängige Bibliotheken: NumPy, Pandas, Scikit-learn, usw.
- Umgebungsverwaltung: conda-Befehle verwalten virtuelle Umgebungen
- Grafische Oberfläche: Anaconda Navigator bietet visuelle Operationen
- Plattformübergreifend: Unterstützt alle wichtigen Betriebssysteme
Anaconda installieren
- Besuchen Siehttps://www.anaconda.com/products/distribution
- Laden Sie das Installationspaket für Ihr System herunter
- 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
- Abhängigkeitsisolierung: Verschiedene Projekte verwenden unterschiedliche Versionen von Bibliotheken
- Reproduzierbarkeit der Umgebung: Dieselbe Umgebung lässt sich bequem auf anderen Rechnern neu erstellen
- Berechtigungsverwaltung: Vermeiden, die System-Python-Umgebung zu verschmutzen
- 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
# 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
- Python: Offizielles Python-Plugin von Microsoft
- Jupyter: Unterstützt Jupyter Notebook
- Python Docstring Generator: Automatisch Docstrings generieren
- Bracket Pair Colorizer: Klammerpaar-Färbung
- 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:
- Python-Tutorial
- Numpy-Tutorial
- Pandas-Tutorial
- Matplotlib-Tutorial
- scikit-learn-Tutorial
- PyTorch-Tutorial
- OpenCV-Tutorial

Wenn Sie Python für maschinelles Lernen verwenden, folgt der gesamte Prozess im Allgemeinen diesen Schritten:
Notwendige Bibliotheken importieren- Zum Beispiel NumPy, Pandas und Scikit-learn.
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.).
Modelle und Algorithmen auswählen- Geeignete Algorithmen für maschinelles Lernen basierend auf der Aufgabe auswählen (z. B. lineare Regression, Entscheidungsbäume usw.).
Das Modell trainieren- Verwenden Sie die Daten des Trainingssatzes, um das Modell zu trainieren.
Das Modell bewerten- Verwenden Sie den Testsatz, um die Genauigkeit des Modells zu bewerten, und optimieren Sie das Modell basierend auf den Bewertungsergebnissen.
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
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
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
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 = 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
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 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:
