


Einführung
In diesem Artikel demonstrieren wir einen vollständigen Projektworkflow für maschinelles Lernen mit Scikit-Learn. Wir werden ein Modell erstellen, um die Immobilienpreise in Kalifornien auf der Grundlage verschiedener Merkmale wie Durchschnittseinkommen, Hausalter und durchschnittliche Zimmeranzahl vorherzusagen. Dieses Projekt führt Sie durch jeden Schritt des Prozesses, einschließlich Laden der Daten, Erkundung, Modelltraining, Auswertung und Visualisierung der Ergebnisse. Egal, ob Sie ein Anfänger sind, der die Grundlagen verstehen möchte, oder ein erfahrener Praktiker, der eine Auffrischung sucht, dieser Artikel bietet wertvolle Einblicke in die praktische Anwendung maschineller Lerntechniken.
Projekt zur Vorhersage der Immobilienpreise in Kalifornien
1. Einführung
Der kalifornische Immobilienmarkt ist für seine einzigartigen Eigenschaften und Preisdynamik bekannt. In diesem Projekt wollen wir ein maschinelles Lernmodell entwickeln, um Immobilienpreise basierend auf verschiedenen Merkmalen vorherzusagen. Wir verwenden den kalifornischen Wohnungsdatensatz, der verschiedene Attribute wie Durchschnittseinkommen, Hausalter, durchschnittliche Zimmerzahl und mehr enthält.
2. Bibliotheken importieren
In diesem Abschnitt importieren wir die notwendigen Bibliotheken für die Datenbearbeitung, Visualisierung und den Aufbau unseres maschinellen Lernmodells.
import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error from sklearn.datasets import fetch_california_housing
3. Laden des Datensatzes
Wir laden den Datensatz „California Housing“ und erstellen einen DataFrame, um die Daten zu organisieren. Die Zielvariable, der Hauspreis, wird als neue Spalte hinzugefügt.
# Load the California Housing dataset california = fetch_california_housing() df = pd.DataFrame(california.data, columns=california.feature_names) df['PRICE'] = california.target
4. Zufällige Auswahl von Proben
Um die Analyse überschaubar zu halten, werden wir für unsere Studie zufällig 700 Proben aus dem Datensatz auswählen.
# Randomly Selecting 700 Samples df_sample = df.sample(n=700, random_state=42)
5. Blick auf unsere Daten
Dieser Abschnitt bietet einen Überblick über den Datensatz und zeigt die ersten fünf Zeilen an, um die Merkmale und Struktur unserer Daten zu verstehen.
# Overview of the data print("First five rows of the dataset:") print(df_sample.head())
Ausgabe
First five rows of the dataset: MedInc HouseAge AveRooms AveBedrms Population AveOccup Latitude \ 20046 1.6812 25.0 4.192201 1.022284 1392.0 3.877437 36.06 3024 2.5313 30.0 5.039384 1.193493 1565.0 2.679795 35.14 15663 3.4801 52.0 3.977155 1.185877 1310.0 1.360332 37.80 20484 5.7376 17.0 6.163636 1.020202 1705.0 3.444444 34.28 9814 3.7250 34.0 5.492991 1.028037 1063.0 2.483645 36.62 Longitude PRICE 20046 -119.01 0.47700 3024 -119.46 0.45800 15663 -122.44 5.00001 20484 -118.72 2.18600 9814 -121.93 2.78000
DataFrame-Informationen anzeigen
print(df_sample.info())
Ausgabe
<class> Index: 700 entries, 20046 to 5350 Data columns (total 9 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 MedInc 700 non-null float64 1 HouseAge 700 non-null float64 2 AveRooms 700 non-null float64 3 AveBedrms 700 non-null float64 4 Population 700 non-null float64 5 AveOccup 700 non-null float64 6 Latitude 700 non-null float64 7 Longitude 700 non-null float64 8 PRICE 700 non-null float64 dtypes: float64(9) memory usage: 54.7 KB </class>
Zusammenfassende Statistiken anzeigen
print(df_sample.describe())
Ausgabe
MedInc HouseAge AveRooms AveBedrms Population \ count 700.000000 700.000000 700.000000 700.000000 700.000000 mean 3.937653 28.855714 5.404192 1.079266 1387.422857 std 2.085831 12.353313 1.848898 0.236318 1027.873659 min 0.852700 2.000000 2.096692 0.500000 8.000000 25% 2.576350 18.000000 4.397751 1.005934 781.000000 50% 3.480000 30.000000 5.145295 1.047086 1159.500000 75% 4.794625 37.000000 6.098061 1.098656 1666.500000 max 15.000100 52.000000 36.075472 5.273585 8652.000000 AveOccup Latitude Longitude PRICE count 700.000000 700.000000 700.000000 700.000000 mean 2.939913 35.498243 -119.439729 2.082073 std 0.745525 2.123689 1.956998 1.157855 min 1.312994 32.590000 -124.150000 0.458000 25% 2.457560 33.930000 -121.497500 1.218500 50% 2.834524 34.190000 -118.420000 1.799000 75% 3.326869 37.592500 -118.007500 2.665500 max 7.200000 41.790000 -114.590000 5.000010
6. Aufteilen des Datensatzes in Trainings- und Testsätze
Wir werden den Datensatz in Merkmale (X) und die Zielvariable (y) aufteilen und ihn dann für das Modelltraining und die Modellbewertung in Trainings- und Testsätze aufteilen.
# Splitting the dataset into Train and Test sets X = df_sample.drop('PRICE', axis=1) # Features y = df_sample['PRICE'] # Target variable # Split the dataset into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
7. Modellschulung
In diesem Abschnitt erstellen und trainieren wir ein lineares Regressionsmodell unter Verwendung der Trainingsdaten, um die Beziehung zwischen Merkmalen und Immobilienpreisen zu lernen.
# Creating and training the Linear Regression model lr = LinearRegression() lr.fit(X_train, y_train)
8. Bewertung des Modells
Wir werden Vorhersagen zum Testsatz treffen und den mittleren quadratischen Fehler (MSE) und die R-Quadrat-Werte berechnen, um die Leistung des Modells zu bewerten.
# Making predictions on the test set y_pred = lr.predict(X_test) # Calculating Mean Squared Error mse = mean_squared_error(y_test, y_pred) print(f"\nLinear Regression Mean Squared Error: {mse}")
Ausgabe
Linear Regression Mean Squared Error: 0.3699851092128846
9. Anzeige tatsächlicher und prognostizierter Werte
Hier erstellen wir einen DataFrame, um die tatsächlichen Immobilienpreise mit den von unserem Modell generierten prognostizierten Preisen zu vergleichen.
# Displaying Actual vs Predicted Values results = pd.DataFrame({'Actual Prices': y_test.values, 'Predicted Prices': y_pred}) print("\nActual vs Predicted:") print(results)
Ausgabe
Actual vs Predicted: Actual Prices Predicted Prices 0 0.87500 0.887202 1 1.19400 2.445412 2 5.00001 6.249122 3 2.78700 2.743305 4 1.99300 2.794774 .. ... ... 135 1.62100 2.246041 136 3.52500 2.626354 137 1.91700 1.899090 138 2.27900 2.731436 139 1.73400 2.017134 [140 rows x 2 columns]
10. Visualisierung der Ergebnisse
Im letzten Abschnitt visualisieren wir die Beziehung zwischen tatsächlichen und prognostizierten Immobilienpreisen mithilfe eines Streudiagramms, um die Leistung des Modells visuell zu bewerten.
# Visualizing the Results plt.figure(figsize=(8, 6)) plt.scatter(y_test, y_pred, color='blue') plt.xlabel('Actual Prices') plt.ylabel('Predicted Prices') plt.title('Actual vs Predicted House Prices') # Draw the ideal line plt.plot([0, 6], [0, 6], color='red', linestyle='--') # Set limits to minimize empty space plt.xlim(y_test.min() - 1, y_test.max() + 1) plt.ylim(y_test.min() - 1, y_test.max() + 1) plt.grid() plt.show()
Abschluss
In diesem Projekt haben wir ein lineares Regressionsmodell entwickelt, um die Immobilienpreise in Kalifornien anhand verschiedener Merkmale vorherzusagen. Der mittlere quadratische Fehler wurde berechnet, um die Leistung des Modells zu bewerten, was ein quantitatives Maß für die Vorhersagegenauigkeit lieferte. Durch die Visualisierung konnten wir sehen, wie gut unser Modell im Vergleich zu tatsächlichen Werten abschneidet.
Dieses Projekt demonstriert die Leistungsfähigkeit des maschinellen Lernens in der Immobilienanalyse und kann als Grundlage für fortgeschrittenere Vorhersagemodellierungstechniken dienen.
Das obige ist der detaillierte Inhalt vonVollständiger Workflow für maschinelles Lernen mit Scikit-Learn: Vorhersage der Immobilienpreise in Kalifornien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Um die Effizienz des Lernens von Python in einer begrenzten Zeit zu maximieren, können Sie Pythons DateTime-, Zeit- und Zeitplanmodule verwenden. 1. Das DateTime -Modul wird verwendet, um die Lernzeit aufzuzeichnen und zu planen. 2. Das Zeitmodul hilft, die Studie zu setzen und Zeit zu ruhen. 3. Das Zeitplanmodul arrangiert automatisch wöchentliche Lernaufgaben.

Python zeichnet sich in Gaming und GUI -Entwicklung aus. 1) Spielentwicklung verwendet Pygame, die Zeichnungen, Audio- und andere Funktionen bereitstellt, die für die Erstellung von 2D -Spielen geeignet sind. 2) Die GUI -Entwicklung kann Tkinter oder Pyqt auswählen. Tkinter ist einfach und einfach zu bedienen. PYQT hat reichhaltige Funktionen und ist für die berufliche Entwicklung geeignet.

Python eignet sich für Datenwissenschafts-, Webentwicklungs- und Automatisierungsaufgaben, während C für Systemprogrammierung, Spieleentwicklung und eingebettete Systeme geeignet ist. Python ist bekannt für seine Einfachheit und sein starkes Ökosystem, während C für seine hohen Leistung und die zugrunde liegenden Kontrollfunktionen bekannt ist.

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

Sie können die Grundlagen von Python innerhalb von zwei Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master -Steuerungsstrukturen wie wenn Aussagen und Schleifen, 3. Verstehen Sie die Definition und Verwendung von Funktionen. Diese werden Ihnen helfen, einfache Python -Programme zu schreiben.

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Dreamweaver CS6
Visuelle Webentwicklungstools

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software