Programmieren – chatgpz.de – KI-Tools & Praxiswissen http://chatgpz.de Unabhängige Tests, Anleitungen und Hintergründe zu KI-Tools. Wed, 03 Dec 2025 12:38:51 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.2 234900186 So programmieren Sie Ihre eigene Web site mit KI http://chatgpz.de/artificial-intelligence/so-programmieren-sie-ihre-eigene-web-site-mit-ki/ http://chatgpz.de/artificial-intelligence/so-programmieren-sie-ihre-eigene-web-site-mit-ki/#respond Wed, 03 Dec 2025 12:38:51 +0000 https://chatgpz.de/artificial-intelligence/so-programmieren-sie-ihre-eigene-website-mit-ki/ [ad_1]

Internet hosting-Plattform für Ihre eigene Web site, auf der Sie Ihr Portfolio und andere nützliche Ressourcen über sich selbst präsentieren können. Bevor ich wechselte, hatte ich WordPress etwa ein Jahr lang verwendet und begann über einige Dinge nachzudenken, die bei der Verwendung von WordPress schwierig waren:

  • Erstellung der Web site – Es conflict schwierig, das gewünschte Design zu erreichen
  • Langsam – Das Erstellen und Aktualisieren in WordPress ist langsam, da es sich um einen Drag-and-Drop-Editor handelt
  • Mangelnde Flexibilität – Sie müssen vorgefertigte Komponenten verwenden. Alternativ können Sie benutzerdefinierten HTML-Code verwenden, müssen den Code dann aber trotzdem kopieren, was langsam ist

Dann habe ich darüber nachgedacht, wie einfach es ist, mit einem Agenten-Codierungstool wie Claude Code oder Cursor meine eigene Web site zu programmieren.

Warum verbringe ich viel Zeit damit, Komponenten per Drag-and-Drop zu ziehen und erhalte trotzdem nicht genau das Design, das ich möchte, wenn ich Claude Code einfach dazu auffordern kann, genau das in nur einer Minute zu tun?

Damals beschloss ich, von gehostetem WordPress auf die Verwaltung meiner eigenen Web site umzusteigen, die in Vercel (kostenlos) bereitgestellt wird. Der Hauptzweck dieses Artikels besteht darin, Ihnen zu zeigen, wie das geht und warum Sie dafür keine Programmiererfahrung benötigen.

Infografik: Erstellen Sie Ihre eigene Website
Diese Infografik hebt die Hauptinhalte dieses Artikels hervor. Ich empfehle dringend, von einem Drag-and-Drop-Editor für Ihre Web site auf eine selbstcodierte Web site umzusteigen, die mithilfe von Codierungsagenten erstellt wurde. Dies macht es viel einfacher und schneller, Ihre Web site zu erstellen und zu aktualisieren. Bild von Gemini.

Sie können finden Meine von mir gestaltete Web site finden Sie in diesem Artikel hier.

Warum Ihre eigene Web site programmieren?

Der Hauptgrund, warum Sie mit dem Codieren Ihrer eigenen Web site beginnen sollten, anstatt einen Drag-and-Drop-Editor wie WordPress oder Webflow zu verwenden, ist:

  • Es ist tremendous einfach – Sie müssen buchstäblich keinen Code anfassen
  • Es geht viel schneller, Ihre Web site zu erstellen und zu aktualisieren
  • Die Designs sind viel besser, da die Codierungsagenten intestine darin sind, qualitativ hochwertige Designs zu erstellen
Sprechende Seite
Dieses Bild zeigt die Talking-Seite auf meiner Web site. Oben sehen Sie die Navigationsleiste und unten den spezifischen Inhalt der Seite. Bild vom Autor.

Da es schneller ist, können Sie Ihre Web site-Designs auch schneller iterieren, was sehr nützlich ist, wenn Sie versuchen, die bestmögliche Web site zu erstellen.

Eine schnelle Iterationsgeschwindigkeit ist der Schlüssel zu schnellem Fortschritt

Natürlich gibt es auch umgekehrt einige Argumente, zum Beispiel, dass WordPress viele Integrationen hat, die nützlich sein können. Für mich überwiegen jedoch die Vorteile bei weitem.

Die Möglichkeit, meine Web site durch die einfache Eingabe einer Eingabeaufforderung zu aktualisieren, wie zum Beispiel:

Lassen Sie alle Schaltflächen auf der Web site beim Schweben einblenden

Dadurch wird meine gesamte Web site buchstäblich in etwa einer Minute aktualisiert (einschließlich der Aktualisierung des Codes durch Claude Code und der Bereitstellung in Vercel). Die gleiche Aktion in WordPress würde mich wahrscheinlich mindestens 30 Minuten dauern.

Stellen Sie sich nun vor, Sie müssten diese Änderung mehrmals professional Woche durchführen. Immer wenn Sie neue Inhalte zu Ihrer Web site hinzufügen oder wenn Ihnen klar wird, dass Sie etwas ändern möchten. Es ist einfach weitaus effizienter, es mit Codierungsagenten direkt im Code zu ändern.

Claude, um Ihre eigene Web site zu programmieren

Erstellen der Web site

Hoffentlich sind Sie überzeugt, warum Sie mit dem Codieren Ihrer eigenen Web site beginnen sollten (oder Claude das für Sie programmieren lassen sollten), anstatt einen Drag-and-Drop-Editor zu verwenden. Kommen wir nun dazu, wie Sie es tun können.

Das Hauptgeheimnis dabei ist, dass Sie nicht wirklich viel selbst tun müssen, wenn man bedenkt, wie intestine die Programmierer bei der Erstellung von Web sites sind. Ich habe die Web site aus meiner vorherigen, von WordPress gehosteten Web site erstellt.


Ich begann, indem ich Claude Code mit folgender Aufforderung aufforderte: wo eivindkjosbakken.com conflict meine WordPress-Seite:

Given my web site right here: eivindkjosbakken.com, copy this web site precisely, 
through the use of React. Create a GitHub repository and push the code there

Claudes Code erstellte dann eine nahezu exakte Nachbildung meiner vorherigen Web site, die ich nun lokal ausführen konnte. Ich habe die Entwürfe überprüft und sichergestellt, dass alles in Ordnung conflict, was größtenteils auch der Fall conflict, bis auf ein paar Dinge, auf die ich im nächsten Abschnitt eingehen werde.

Hosten der Web site

Dann bin ich dazu übergegangen, die Web site zu hosten. Ich verwende Vercel, da es die kostenlose Bereitstellung Ihrer Web site ermöglicht, einfach zu verwenden ist und vollständig vom Terminal aus verwaltet werden kann. Die Verwaltung über das Terminal ist tremendous nett, sodass Claude sich um die Bereitstellungen und andere Probleme mit Vercel kümmern kann.

Bei der ersten Bereitstellung musste ich jedoch ein Projekt erstellen vercel.com und verbinde meine Codebasis mit diesem Projekt. Sie können jeden LLM fragen, wie das geht, und er wird Ihnen eine genaue Schritt-für-Schritt-Anleitung zum Verbinden Ihres Codes mit Vercel geben. Vercel bietet Ihnen außerdem 100 kostenlose Bereitstellungen professional Tag, was mehr als genug sein sollte.

Nachdem ich mich mit Vercel verbunden hatte, conflict alles betriebsbereit und ich konnte über das Web auf meine Web site zugreifen.

Aktualisierung der Web site

Nachdem ich meine WordPress-Web site kopiert hatte, entdeckte ich auch einige Aktualisierungen, die ich an meiner Web site vornehmen wollte. Ich wollte zum Beispiel:

Artikelhervorhebung
Dieses Bild zeigt eine der Designverbesserungen, die ich an meiner Web site vorgenommen habe. Immer wenn Sie mit der Maus über einen Artikel auf dieser Seite fahren, können Sie sehen, dass die Artikelkarte hervorgehoben ist. Bild vom Autor.

Diese Änderungen konnten schnell vorgenommen werden und ich musste Claude einfach eine Beschreibung meiner Änderung geben (z. B. Markieren Sie die Artikelkarte oben), und die Änderung erfolgte in weniger als einer Minute. Diese Änderung mit einem Drag-and-Drop-Editor vorzunehmen, würde wahrscheinlich viel länger dauern.

Jetzt kann Sie nur noch Ihre Vorstellungskraft davon abhalten, Ihre Web site zu aktualisieren, und Sie können in Wirklichkeit jede Änderung vornehmen und Designs schnell wiederholen, indem Sie einfach Ihren Programmieragenten dazu auffordern.

Herausforderungen, die ich lösen musste

Claude hat die Nachbildung meiner alten WordPress-Web site größtenteils in einem einzigen Code erstellt, nur aus der URL meiner Web site. Es gab jedoch einige Probleme, die ich lösen musste, wie Sie unten aufgeführt sehen können:

  • Mein WordPress hatte die Möglichkeit, E-Mails an mich zu senden
  • Ich musste einige Bilder von der alten Web site kopieren, zum Beispiel für meine Artikel (manuelle Prozesse)
  • Einige Probleme mit den sozialen Hyperlinks – sowohl beim Finden der richtigen als auch beim Sicherstellen, dass sie von hoher Qualität sind
  • WordPress hat eine Mailingliste, und das musste ich jetzt irgendwie selbst verwalten
  • Umzug der Area von WordPress zu NameCheap

Für die E-Mails habe ich verwendet EmailJS die Möglichkeit zu haben, E-Mails von meiner Web site aus zu versenden. Dieser Service ist kostenlos und einfach einzurichten, nachdem Sie von Ihrem Coding-Agenten eine Schritt-für-Schritt-Anleitung angefordert haben.

Zum Kopieren der Bilder habe ich die Bilder einfach lokal heruntergeladen, sie im Code-Repository abgelegt und Claudes Code mitgeteilt, wo er die Bilder finden kann. Anschließend kopierte Claude die Bilder in einen bestimmten Bildordner, damit sie auf der Web site gehostet werden konnten.

Bei den sozialen Hyperlinks musste ich Claude einfach ein paar Mal mit einem Screenshot darüber auffordern, wie die sozialen Hyperlinks aussahen (an einer Stelle sahen sie zum Beispiel sehr körnig aus), und Claude löste das Drawback mit drei bis vier Aufforderungen und Suggestions.

Für die Mailingliste habe ich mich für den Wechsel entschieden MailerLitedas eingebettete Formulare bietet, die Sie auf Ihrer Web site verwenden können, damit sich Leute mit ihrer E-Mail-Adresse anmelden können. Sie können das eingebettete Formular einfach Ihrem Codierungsagenten geben, der es in Ihre Web site einbetten wird.

Das Verschieben von Domains conflict die zeitaufwändigste Aufgabe. Ich hatte meine vorherige Area in WordPress gekauft, was den Prozess etwas schwieriger machte. Allerdings habe ich Gemini 3 dazu gebracht, mir eine Schritt-für-Schritt-Anleitung zur Verfügung zu stellen, die intestine funktioniert hat, und ich habe Domains zu NameCheap übertragen, wo ich selbst die volle Kontrolle über die Area habe.

Abschluss

In diesem Artikel habe ich besprochen, wie Sie Ihre Web site von einem Drag-and-Drop-Editor wie WordPress oder Webflow auf Ihre eigene verwaltete Web site verschieben können. Mit Coding Brokers und Vercel ist dieser Vorgang relativ einfach, wodurch Sie viel mehr Kontrolle über Ihre eigene Web site haben. Darüber hinaus ermöglicht es Ihnen eine schnellere Iteration auf Ihrer Web site und vereinfacht die Aktualisierung Ihrer Web site.

Ich glaube, dass wir uns gänzlich von Drag-and-Drop-Editoren entfernen, wenn wir sehen, wie intestine die heutigen Codierungsagenten funktionieren, und angesichts der Tatsache, dass man nicht mehr wirklich Programmiererfahrung braucht, um einfache Programmierungen wie die Aktualisierung des Designs einer Web site durchzuführen.

👉 Finden Sie mich in den sozialen Netzwerken:

📚 Holen Sie sich mein kostenloses E-Guide „Imaginative and prescient Language Fashions“.

💻 Mein Webinar zu Imaginative and prescient Language Fashions

📩 Abonnieren Sie meinen E-newsletter

🧑‍💻 Nehmen Sie Kontakt auf

🔗 LinkedIn

🐦 X / Twitter

✍ Medium

[ad_2]

]]>
http://chatgpz.de/artificial-intelligence/so-programmieren-sie-ihre-eigene-web-site-mit-ki/feed/ 0 14497
Warum Mengen beim Programmieren so nützlich sind | von Afjal Chowdhury | Dez. 2024 http://chatgpz.de/artificial-intelligence/warum-mengen-beim-programmieren-so-nuetzlich-sind-von-afjal-chowdhury-dez-2024/ http://chatgpz.de/artificial-intelligence/warum-mengen-beim-programmieren-so-nuetzlich-sind-von-afjal-chowdhury-dez-2024/#respond Mon, 23 Dec 2024 16:29:41 +0000 http://chatgpz.de/artificial-intelligence/warum-mengen-beim-programmieren-so-nuetzlich-sind-von-afjal-chowdhury-dez-2024/ [ad_1]

Wenn wir einen Schritt zurücktreten, könnte es scheinen, dass die einfache Entfernung von Duplikaten der einzige Vorteil der Verwendung von Units ist. Wir haben zuvor besprochen, dass Mengen keine Ordnung haben; Arrays verfügen über ein indiziertes Factor, das einfach ignoriert und wie eine Menge behandelt werden kann. Es scheint, dass Arrays die gleiche Aufgabe erfüllen können wie eine Menge, wenn nicht sogar mehr.

Diese durch Mengen erzwungene Vereinfachung eröffnet jedoch den Weg dazu verschiedene zugrunde liegende Implementierungen. In Hear werden Elementen Indizes zugewiesen, um jedem Factor einen Platz in der Reihenfolge zu geben. Units müssen keine Indizes zuweisen, daher implementieren sie stattdessen einen anderen Referenzierungsansatz: Hash-Mapping. Diese funktionieren, indem sie Elementen (pseudo)zufällig Adressen zuweisen, anstatt sie in einer Reihe zu speichern. Die Zuordnung wird durch Hashing-Funktionen gesteuert, die das Factor als Eingabe für die Ausgabe einer Adresse verwenden.

Durch Hashing wird die Ordnung nicht gewahrt

H(x) ist deterministisch, daher liefert die gleiche Eingabe immer die gleiche Ausgabe, d. h. Es gibt kein RNG innerhalb der Funktion H, daher ist in diesem Fall immer H(4) = 6.

Das Ausführen dieser Funktion dauert unabhängig von der Größe des Satzes gleich lange, d. h. Hashing hat eine Zeitkomplexität von O(1). Dies bedeutet, dass die zum Hashing benötigte Zeit unabhängig von der Größe der Liste ist und eine konstante, schnelle Geschwindigkeit aufweist.

Da Hashing im Allgemeinen schnell ist, können eine ganze Reihe von Vorgängen, die bei großen Arrays normalerweise langsam sind, sehr effizient auf einem Satz ausgeführt werden.

Suche oder Mitgliedschaftstest

Die Suche nach Elementen in einem Array verwendet einen Algorithmus namens Lineare Suchevon Überprüfen Sie jedes Factor in der Liste einzeln. Im schlimmsten Fall, wenn das gesuchte Factor nicht in der Liste vorhanden ist, durchläuft der Algorithmus jedes Factor der Liste (An)). Bei einer sehr großen Liste dauert dieser Vorgang sehr lange.

Die lineare Suche erfordert im Durchschnitt n/2 Operationen, Bild nach Autor

Da das Hashing jedoch O(1) ist, hasht Python das zu findende Factor und gibt entweder dorthin zurück, wo es sich im Speicher befindet, oder dass es nicht existiert – und das in sehr kurzer Zeit.

number_list = vary(random.randint(1,000,000))
number_set = set(number_list)

#Line 1
#BEGIN TIMER
print(-1 in number_list)
#END TIMER

#Line 2
#BEGIN TIMER
print(-1 in number_set)
#END TIMER

Vergleich der Suchzeiten in Hear vs. Sätzen

Hinweis: Die Suche mithilfe einer Hashmap hat einen amortisiert Zeitkomplexität von O(1). Das bedeutet, dass es im Durchschnitt mit einer konstanten Zeit läuft, aber technisch gesehen ist die Suche im schlimmsten Fall O(n). Dies ist jedoch äußerst unwahrscheinlich und liegt daran, dass bei der Hashing-Implementierung die Gefahr von Kollisionen besteht, wenn mehrere Elemente in einer Hashmap/einem Hashsatz an dieselbe Adresse gehasht werden.

Kollisionen sind selten

Streichung

Das Löschen eines Parts aus einer Liste erfordert zunächst eine Suche nach dem Factor und anschließend das Entfernen des Verweises auf das Factor durch Löschen der Adresse. In einem Array muss nach der O(n)-Zeitsuche der Index jedes Parts, das auf das gelöschte Factor folgt, um eins nach unten verschoben werden. Dies selbst ist ein weiterer O(n)-Prozess.

Das Löschen in einer Liste erfordert ungefähr n Operationen

Das Löschen eines Parts aus einer Menge erfordert die O(1)-Suche und das anschließende Löschen der Speicheradresse, was ein O(1)-Prozess ist, sodass das Löschen ebenfalls in konstanter Zeit erfolgt. Units verfügen außerdem über mehr Möglichkeiten zum Löschen von Elementen, sodass keine Fehler auftreten oder mehrere Elemente präzise entfernt werden können.

#LIST
numbers = (1, 3, 4, 7, 8, 11)

numbers.take away(4)
numbers.take away(5) #Raises ERROR as 5 is just not in checklist
numbers.pop(0) #Deletes quantity at index 0, ie. 1

#SET
numbers = {1, 3, 4, 7, 8, 11}

numbers.take away(4)
numbers.take away(5) #Raises ERROR as 5 is just not in set
numbers.discard(5) #Doesn't increase error if 5 is just not within the set
numbers -= {1,2,3} #Performs set distinction, ie. 1, 3 are discarded

Einfügen

Sowohl das Anhängen an eine Liste als auch das Hinzufügen von Elementen zu einer Menge sind konstante Vorgänge; Das Hinzufügen zu einem angegebenen Index in einer Liste (.insert) bringt jedoch die zusätzliche Zeit mit sich, Elemente zu verschieben.

num_list = (1,2,3)
num_set = {1,2,3}

num_list.append(4)
num_set.add(4)

num_list += (5,6,7)
num_set += {5,6,7}

Erweiterte Set-Operationen

Darüber hinaus sind alle mathematischen Operationen, die auf Mengen ausgeführt werden können, auch in Python implementiert. Die manuelle Ausführung dieser Vorgänge an einer Liste ist erneut zeitaufwändig und wird erneut mithilfe von Hashing optimiert.

Operationen festlegen
A = {1, 2, 3, 5, 8, 13}
B = {2, 3, 5, 7, 13, 17}

# A n B
AintersectB = A & B
# A U B
AunionB = A | B
# A B
AminusB = A - B
# A U B - A n B or A Delta B
AsymmetricdiffB = A ^ B

Dazu gehören auch Vergleichsoperatoren, nämlich echte und entspannte Teilmengen und Obermengen. Diese Operationen laufen wiederum viel schneller als ihre Hear-Gegenstücke und arbeiten in O(n)-Zeit, wobei n die größere der beiden Mengen ist.

Teilmenge
A <= B #A is a correct subset of B
A > B #A is a superset of B

Gefrorene Units

Eine letzte kleine, aber unterschätzte Funktion in Python ist die gefrorenes Setwas im Wesentlichen ein schreibgeschütztes oder ist unveränderlich Satz. Diese bieten eine höhere Speichereffizienz und können in Fällen nützlich sein, in denen Sie die Mitgliedschaft in einem Tupel häufig testen.

CEinschluss

Die Essenz der Verwendung von Units zur Leistungssteigerung wird durch das Prinzip zusammengefasst Optimierung durch Reduktion.

Datenstrukturen wie Hear verfügen über die größte Funktionalität – sie sind indiziert und dynamisch –, gehen jedoch mit einer vergleichsweise geringeren Effizienz einher: Geschwindigkeit und Speicher. Wenn Sie ermitteln, welche Funktionen wesentlich bzw. ungenutzt sind, um zu ermitteln, welcher Datentyp verwendet werden soll, erhalten Sie Code, der schneller ausgeführt und besser gelesen werden kann.

Alle technischen Diagramme nach Autor.

[ad_2]

]]>
http://chatgpz.de/artificial-intelligence/warum-mengen-beim-programmieren-so-nuetzlich-sind-von-afjal-chowdhury-dez-2024/feed/ 0 6058
Versuchen wir, mit OpenAI Canvas zu programmieren http://chatgpz.de/data-analytics/versuchen-wir-mit-openai-canvas-zu-programmieren/ http://chatgpz.de/data-analytics/versuchen-wir-mit-openai-canvas-zu-programmieren/#respond Thu, 12 Dec 2024 20:22:29 +0000 https://chatgpz.de/data-analytics/versuchen-wir-mit-openai-canvas-zu-programmieren/ [ad_1]

OpenAI Canvas ist ein vielseitiges Device zur Optimierung der kollaborativen Codierung und Textbearbeitung. Mit seiner intuitiven Benutzeroberfläche bietet Canvas neben der KI-gesteuerten Unterstützung von ChatGPT eine dynamische Plattform für Entwickler zum Schreiben, Bearbeiten und Debuggen von Code. Dies macht es besonders nützlich für eine Vielzahl von Aufgaben, von der einfachen Skripterstellung bis hin zur Verwaltung komplexer Projekte. In diesem Artikel werde ich das Codieren mit Canvas untersuchen und meine Gesamterfahrung teilen.

Hauptmerkmale und Vorteile von Canvas

  • Nahtlose Zusammenarbeit: Canvas integriert Konversationsschnittstellen und ermöglicht es Benutzern, Ideen in Echtzeit zu ändern, Suggestions anzufordern oder zu erkunden, ohne das Device wechseln zu müssen.
  • Dynamische Codierungsumgebung: Canvas wurde für Python-Entwickler entwickelt und unterstützt die Codeausführung, was es supreme für Aufgaben wie Datenanalyse, Codierung und Visualisierung macht.
  • Multifunktionale Plattform: Canvas dient nicht nur der Textbearbeitung; Es ist ein vielseitiger Raum für Brainstorming, Programmierung und strukturierte Arbeitsabläufe.

Kasse – Warum o1-Modell besser als GPT-4o

Praktisches Codieren mit Canvas

Erste Schritte

Ich habe die Codierungsfunktionen von Canvas mit dem Ziel untersucht, einen Datensatz anzuhängen und grundlegende Funktionen auszuführen explorative Datenanalyse (EDA). Obwohl die Benutzeroberfläche intuitiv und vielversprechend conflict, stieß ich bei der Integration externer Datensätze auf Herausforderungen.

Die Herausforderung: Zugriff auf Daten in der Sandbox

Beim Versuch, einen Datensatz anzuhängen, stellte ich fest, dass die Sandbox-Umgebung nicht auf die Datei zugreifen konnte. Um dieses Downside zu umgehen, habe ich eine Teilmenge der Daten direkt in Canvas eingefügt, das Downside wurde dadurch jedoch nicht behoben. Selbst bei korrekt geschriebenem Code blieb eine Fehlermeldung bestehen, die darauf hinweist, dass die Daten nicht gefunden werden konnten. Diese Einschränkung unterstreicht die Notwendigkeit verbesserter Datenintegrationsfunktionen in Canvas.

Synthetische Daten und Visualisierungen

Nachdem ich auf diese Einschränkungen gestoßen conflict, forderte ich Canvas auf, synthetische Daten zu generieren und Visualisierungen durchzuführen. Der folgende Code wurde generiert und erfolgreich ausgeführt:

Eingabeaufforderung: Erstellen Sie einen Datensatz und führen Sie anschließend einige Visualisierungen daraus durch.

Datensatzvisualisierung....

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

# Step 1: Create a dataset
np.random.seed(42)
knowledge = {
    'Class': np.random.selection(('A', 'B', 'C', 'D'), 100),
    'Value1': np.random.regular(50, 10, 100),
    'Value2': np.random.regular(100, 20, 100),
    'Group': np.random.selection(('X', 'Y'), 100)
}
df = pd.DataFrame(knowledge)

# Step 2: Show primary details about the dataset
print("Dataset preview:")
print(df.head())
print("nDataset abstract:")
print(df.describe())

# Step 3: Visualizations
plt.determine(figsize=(12, 8))

# Bar plot: Common of Value1 by Class
plt.subplot(2, 2, 1)
sns.barplot(x='Class', y='Value1', knowledge=df, ci=None)
plt.title('Common of Value1 by Class')

# Field plot: Distribution of Value2 by Group
plt.subplot(2, 2, 2)
sns.boxplot(x='Group', y='Value2', knowledge=df)
plt.title('Distribution of Value2 by Group')

# Scatter plot: Value1 vs. Value2
plt.subplot(2, 2, 3)
sns.scatterplot(x='Value1', y='Value2', hue="Class", knowledge=df)
plt.title('Scatter plot of Value1 vs Value2')

# Histogram: Distribution of Value1
plt.subplot(2, 2, 4)
sns.histplot(df('Value1'), kde=True, bins=20)
plt.title('Histogram of Value1')

plt.tight_layout()
plt.present()

Und beim Ausführen conflict dies die Ausgabe:

Konsole, Datensatzvorschau
Werte nach Kategorie

Die Ergebnisse waren visuell aufschlussreich und zeigten die Fähigkeit der Plattform, grundlegende EDA-Aufgaben effektiv zu bewältigen. Anschließend führte ich eine erweiterte EDA durch, um tiefere Erkenntnisse zu gewinnen:

Machen Sie etwas Vorab-EDA

Beim Ausführen dieses erweiterten EDA ist dieser Fehler aufgetreten:

Datensatzvisualisierung

Nach Behebung des Fehlers:

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

# Step 1: Create a dataset
np.random.seed(42)
knowledge = {
    'Class': np.random.selection(('A', 'B', 'C', 'D'), 100),
    'Value1': np.random.regular(50, 10, 100),
    'Value2': np.random.regular(100, 20, 100),
    'Group': np.random.selection(('X', 'Y'), 100)
}
df = pd.DataFrame(knowledge)

# Step 2: Show primary details about the dataset
print("Dataset preview:")
print(df.head())
print("nDataset abstract:")
print(df.describe())

# Superior EDA
print("nChecking for lacking values:")
print(df.isnull().sum())

# Guarantee solely numeric knowledge is used for correlation matrix
print("nCorrelation matrix:")
numeric_df = df.select_dtypes(embody=(np.quantity))
correlation_matrix = numeric_df.corr()
print(correlation_matrix)

# Visualizations for superior EDA
plt.determine(figsize=(15, 12))

# Heatmap of correlation matrix
plt.subplot(3, 2, 1)
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f")
plt.title('Correlation Matrix Heatmap')

# Pairplot for relationships
sns.pairplot(df, hue="Class", nook=True, diag_kind='kde')
plt.suptitle('Pairplot of Variables', y=1.02)
plt.present()

# Boxen plot: Distribution of Value1 by Class and Group
plt.subplot(3, 2, 2)
sns.boxenplot(x='Class', y='Value1', hue="Group", knowledge=df)
plt.title('Boxen plot of Value1 by Class and Group')

# Violin plot: Distribution of Value2 by Class
plt.subplot(3, 2, 3)
sns.violinplot(x='Class', y='Value2', knowledge=df, hue="Group", break up=True)
plt.title('Violin plot of Value2 by Class')

# Rely plot: Frequency of Classes
plt.subplot(3, 2, 4)
sns.countplot(x='Class', knowledge=df, hue="Group")
plt.title('Frequency of Classes by Group')

# KDE plot: Distribution of Value1 and Value2
plt.subplot(3, 2, 5)
sns.kdeplot(x='Value1', y='Value2', hue="Class", knowledge=df, fill=True, alpha=0.6)
plt.title('KDE plot of Value1 vs Value2')

plt.tight_layout()
plt.present()

# Outlier detection
print("nIdentifying potential outliers:")
for column in ('Value1', 'Value2'):
    Q1 = df(column).quantile(0.25)
    Q3 = df(column).quantile(0.75)
    IQR = Q3 - Q1
    lower_bound = Q1 - 1.5 * IQR
    upper_bound = Q3 + 1.5 * IQR
    outliers = df((df(column) < lower_bound) | (df(column) > upper_bound))
    print(f"Outliers in {column}:n", outliers)

# Group statistics
print("nGroup statistics:")
print(df.groupby(('Class', 'Group')).agg({'Value1': ('imply', 'std'), 'Value2': ('imply', 'std')}))
Gruppenstatistiken
Boxen-Plot-Wertekategorie

Diese erweiterten Analysen verdeutlichten die Fähigkeiten von Canvas für explorative Aufgaben, verdeutlichten aber auch die Einschränkungen der Plattform bei der Integration externer Datensätze.

Code in andere Sprachen portieren

Während Canvas das Codieren hauptsächlich in Python unterstützt, ermöglicht die Plattform Benutzern die Portierung von Python-Code in andere Sprachen, beispielsweise Java. Es führt jedoch keinen Code in anderen Sprachen als Python aus. Hier ist ein Beispiel für einen Python-zu-Java-Port:

Port zu einem Langugae
Sprache PHP C++
Datensatzvisualisierung Java
import java.util.*;
import java.util.stream.Collectors;

public class DatasetVisualization {

    public static void primary(String() args) {
        // Step 1: Create an artificial dataset
        Random random = new Random(42); // For reproducibility

        Checklist<Integer> ages = random.ints(200, 18, 70).boxed().acquire(Collectors.toList());
        Checklist<Integer> incomes = random.ints(200, 30000, 120000).boxed().acquire(Collectors.toList());
        Checklist<String> genders = random.ints(200, 0, 2).mapToObj(i -> i == 0 ? "Male" : "Feminine").acquire(Collectors.toList());
        Checklist<Integer> spendScores = random.ints(200, 1, 101).boxed().acquire(Collectors.toList());
        Checklist<String> cities = random.ints(200, 0, 5).mapToObj(i -> {
            swap (i) {
                case 0: return "New York";
                case 1: return "Los Angeles";
                case 2: return "Chicago";
                case 3: return "Houston";
                default: return "Phoenix";
            }
        }).acquire(Collectors.toList());

        // Step 2: Create demographic segments
        Checklist<String> ageGroups = ages.stream().map(age -> {
            if (age <= 30) return "Younger";
            else if (age <= 50) return "Center-aged";
            else return "Senior";
        }).acquire(Collectors.toList());

        Checklist<String> incomeGroups = incomes.stream().map(revenue -> {
            if (revenue < 40000) return "Low";
            else if (revenue <= 70000) return "Medium";
            else return "Excessive";
        }).acquire(Collectors.toList());

        // Step 3: Print a abstract of the dataset
        System.out.println("Pattern of the dataset:");
        for (int i = 0; i < 5; i++) {
            System.out.printf("Age: %d, Earnings: %d, Gender: %s, Spend Rating: %d, Metropolis: %s, Age Group: %s, Earnings Group: %sn",
                    ages.get(i), incomes.get(i), genders.get(i), spendScores.get(i), cities.get(i), ageGroups.get(i), incomeGroups.get(i));
        }

        // Step 4: Carry out a correlation-like evaluation (simplified for Java)
        double ageIncomeCorrelation = calculateCorrelation(ages, incomes);
        double ageSpendScoreCorrelation = calculateCorrelation(ages, spendScores);
        double incomeSpendScoreCorrelation = calculateCorrelation(incomes, spendScores);

        System.out.println("nCorrelation Evaluation:");
        System.out.printf("Age-Earnings Correlation: %.2fn", ageIncomeCorrelation);
        System.out.printf("Age-Spend Rating Correlation: %.2fn", ageSpendScoreCorrelation);
        System.out.printf("Earnings-Spend Rating Correlation: %.2fn", incomeSpendScoreCorrelation);

        // Visualizations would usually require a separate library for Java, corresponding to JFreeChart or JavaFX.
        System.out.println("nVisualizations will not be applied on this text-based instance.");
    }

    // Helper technique to calculate a simplified correlation
    non-public static double calculateCorrelation(Checklist<Integer> x, Checklist<Integer> y) {
        if (x.dimension() != y.dimension()) throw new IllegalArgumentException("Lists will need to have the identical dimension");

        int n = x.dimension();
        double meanX = x.stream().mapToDouble(a -> a).common().orElse(0);
        double meanY = y.stream().mapToDouble(a -> a).common().orElse(0);

        double covariance = 0;
        double varianceX = 0;
        double varianceY = 0;

        for (int i = 0; i < n; i++) {
            double deltaX = x.get(i) - meanX;
            double deltaY = y.get(i) - meanY;
            covariance += deltaX * deltaY;
            varianceX += deltaX * deltaX;
            varianceY += deltaY * deltaY;
        }

        return covariance / Math.sqrt(varianceX * varianceY);
    }
}

Obwohl der Java-Code Funktionen für die Erstellung von Datensätzen und einfache Analysen bereitstellt, wären für die weitere Entwicklung zusätzliche Bibliotheken erforderlich Visualisierung.

Meine Erfahrung mit Canvas

Obwohl Canvas Python unterstützt, kann die Integration externer Datensätze aufgrund von Sandbox-Einschränkungen eine Herausforderung darstellen. Allerdings können diese Probleme durch die Generierung synthetischer Daten in Canvas oder den Import von Teilmengen von Datensätzen gemildert werden. Darüber hinaus kann Python-Code in andere Sprachen portiert werden, obwohl die Ausführung außerhalb von Python in Canvas nicht unterstützt wird.

Insgesamt bietet Canvas eine benutzerfreundliche und kollaborative Umgebung. Eine verbesserte Fähigkeit zur Integration externer Daten und die Unterstützung weiterer Programmiersprachen würden es noch vielseitiger und nützlicher machen.

Abschluss

Das Codieren mit ChatGPT Canvas kombiniert KI-Unterstützung mit einem kollaborativen Arbeitsbereich und macht es so zu einem praktischen Werkzeug für Entwickler. Egal, ob Sie Code debuggen, Daten analysieren oder Ideen sammeln, Canvas vereinfacht den Prozess und steigert die Produktivität.

Haben Sie versucht, mit Canvas zu programmieren? Teilen Sie Ihre Erfahrungen mit und lassen Sie mich im Kommentarbereich unten wissen, wie es für Sie funktioniert hat.

Bleiben Sie dran Analytics Vidhya Weblog für weitere solcher Updates!

Häufig gestellte Fragen

Q1. Was ist ChatGPT Canvas?

ChatGPT Canvas ist eine Funktion, die es Benutzern ermöglicht, lange Dokumente oder Code direkt neben ihren Gesprächen mit ChatGPT zu bearbeiten, zusammenzuarbeiten und zu verfeinern.

Q2. Ist die Nutzung von OpenAI kostenlos?

OpenAI bietet kostenlosen Zugriff auf einige Funktionen von ChatGPT, für erweiterte Funktionen und Modelle ist jedoch häufig ein kostenpflichtiges Abonnement erforderlich.

Q3. Kann ich Code in OpenAI Canvas bearbeiten?

Ja, mit OpenAI Canvas können Benutzer Code direkt neben KI-gestützten Vorschlägen bearbeiten und verfeinern.

Hallo, ich bin Janvi, ein leidenschaftlicher Knowledge-Science-Fanatic, der derzeit bei Analytics Vidhya arbeitet. Meine Reise in die Welt der Daten begann mit einer tiefen Neugier, wie wir aus komplexen Datensätzen aussagekräftige Erkenntnisse gewinnen können.

[ad_2]

]]>
http://chatgpz.de/data-analytics/versuchen-wir-mit-openai-canvas-zu-programmieren/feed/ 0 5823
Wie ChatGPT das Programmieren verändert http://chatgpz.de/data-analytics/wie-chatgpt-das-programmieren-veraendert/ http://chatgpz.de/data-analytics/wie-chatgpt-das-programmieren-veraendert/#respond Tue, 16 Jul 2024 18:29:15 +0000 http://chatgpz.de/data-analytics/wie-chatgpt-das-programmieren-veraendert/ [ad_1]

Hauptcover. Wie ChatGPT unsere Produktivität steigert.
Bild vom Autor

Seit der Einführung von ChatGPT von OpenAI ist die Programmierlandschaft in eine neue Ära eingetreten. Durch die Nutzung erweiterter Funktionen zur Verarbeitung natürlicher Sprache verfügen Anfänger und erfahrene Entwickler nun über leistungsstarke Instruments, die den Codierungsprozess vereinfachen.

KI-gestützte Chatbots wie ChatGPT oder Gemini verändern die Artwork und Weise, wie Entwickler komplexe Probleme lösen und neue Technologien erlernen. Deshalb testeten viele Benutzer, als OpenAI erstmals GPT-4 veröffentlichte, die Fähigkeit, funktionale Programme von Grund auf zu erstellen.

Das Ergebnis?

Die Leistung battle außergewöhnlich intestine. Ammaar Reshi hat beispielsweise ein Gluttony-Spiel komplett mit GPT-4 erstellt und sein Demonstrationsvideo erreichte über 3 Millionen Aufrufe. Sehen Sie sich das Video hier an.

Seitdem haben sich KI-Programmiertools erheblich weiterentwickelt und sind über die einfache Codevervollständigung hinausgegangen und generieren Code auf der Grundlage natürlicher Sprachanweisungen, wie bei GitHub Copilot zu sehen ist. Diese Fortschritte vereinfachen das Programmieren nicht nur für Entwickler, sondern auch für diejenigen, die keine Programmiererfahrung haben.

Wenn es in der Welt der Zukunft eine Gewissheit gibt, dann ist es die, dass KI-Instruments die Artwork und Weise, wie Menschen das Programmieren lernen und in ihrem täglichen Leben programmieren, grundlegend verändern werden. Dieser Artikel zielt darauf ab, vorherzusagen, welche wesentlichen Veränderungen in diesem Bereich in den kommenden Jahren stattfinden werden.

1. Wissenslücken schließen

Eine der bedeutendsten Auswirkungen von ChatGPT ist seine Fähigkeit, Programmierkenntnisse zu demokratisieren. Egal, ob Sie ein erfahrener Entwickler oder ein Anfänger sind, ChatGPT dient als zugängliche Informationsquelle.

Zum Beispiel, laut der StackOverflow-Umfrage vom letzten Jahralle Befragten verwenden mindestens ein KI-Device zur Wissenssuche, mit einer klaren Vorliebe für ChatGPT. Mehr als 83 % der Befragten verwenden ChatGPT täglich (83 % für professionelle Entwickler und 85 % für Lernende).


Screenshot der Stack Overflow-Umfrage 2023. Welche KI-Suchtools verwenden die Befragten?

ChatGPT kann klare Erklärungen, Codeausschnitte und Schritt-für-Schritt-Anleitungen bereitstellen. Das bedeutet, dass KI-Instruments wie ChatGPT als personalisierte Lehrer fungieren können, wenn eine Particular person heute ein neues ML-Modell verstehen muss oder sich ohne Vorkenntnisse in eine neue Programmiersprache stürzen möchte.

Ein Neuling, der beispielsweise versucht, das Konzept der objektorientierten Programmierung zu verstehen, kann ChatGPT ganz einfach um klare Erklärungen bitten. Und das ist der eigentliche Wendepunkt in der Lernkurve. Während Lernende früher dicke Lehrbücher lesen oder sich endlose On-line-Tutorials ansehen mussten, erhalten Benutzer jetzt sofortige, maßgeschneiderte Antworten auf ihre Eingabeaufforderungen in natürlicher Sprache.

Dieser sofortige Zugang zu Wissen verringert die Einstiegshürde für Anfänger und erhöht die Lerngeschwindigkeit für erfahrenere Programmierer.

2. Verbesserung der Codequalität und Effizienz

Das Schreiben von sauberem, effizientem und fehlerfreiem Code ist für viele Entwickler auch heute noch eine Herausforderung. Aus diesem Grund können KI-gestützte Instruments wie ChatGPT helfen, indem sie Finest Practices vorschlagen, Codeüberprüfungen anbieten und sogar Codeausschnitte generieren, die den Industriestandards entsprechen.

Stellen Sie sich vor, Sie arbeiten an einem Python-Skript und benötigen eine schnelle Funktion zum Parsen von JSON-Daten. ChatGPT kann die Funktion für Sie generieren, komplett mit Fehlerbehandlung und Optimierungstipps.

Darüber hinaus kann ChatGPT auch beim Debuggen von Code helfen.

Während die meisten von uns vorher Stunden damit verbrachten, herauszufinden, warum der Code nicht funktionierte, können wir jetzt den Codeausschnitt mit ChatGPT teilen und eine direkte Überprüfung erhalten.

Neue Instruments wie Coding-Assistenten, darunter GitHub Copilot, erfreuen sich immer größerer Beliebtheit, um den Entwicklungsprozess zu beschleunigen. Laut einer Stack Overflow-Umfrage Quick 80 % der Entwickler verwenden in ihrer täglichen Arbeit KI-basierte Codierungshilfe-Instruments.


Screenshot der Stack Overflow-Umfrage 2023. Nutzung von KI-basierten Codierungshilfe-Instruments

KI-Instruments verbessern den Codierungsprozess und sind daher eine unschätzbar wertvolle Ressource in der modernen Softwareentwicklung.

3. Zusammenarbeit und Kommunikation erleichtern

Beim Programmieren ist häufig Zusammenarbeit und klare Kommunikation zwischen Kollegen erforderlich. Eine der besten Vorgehensweisen besteht darin, jeden entwickelten Prozess zu dokumentieren, nicht wahr?

ChatGPT kann uns helfen, indem es Dokumentationen erstellt, nützliche Codekommentare verfasst und sogar technische Begriffe in leicht verständliche Worte für Kollegen ohne technische Kenntnisse übersetzt.

Stellen Sie sich vor, Sie arbeiten mit einem Distant-Workforce an einem Projekt, um einen funktionierenden API-Endpunkt zu generieren. Mit ChatGPT können Sie ganz einfach eine vollständige Dokumentation für den Fortschritt Ihres API-Endpunkts erstellen und so sicherstellen, dass alle auf dem gleichen Stand sind.

Es gibt sogar KI-Instruments, die derzeit in Anrufsoftware wie Groups oder Slack integriert sind, um die Besprechungsnotizen aufzuschreiben und sicherzustellen, dass jeder die gleichen Stichpunkte und Hauptziele im Auge hat. Dies steigert die Teamproduktivität weiter und stellt sicher, dass das Wissen intestine dokumentiert und leicht übertragbar ist.

4. Automatisierung sich wiederholender Aufgaben

Sich wiederholende Aufgaben können sowohl die Kreativität als auch die Produktivität des Entwicklers beeinträchtigen. ChatGPT und KI-gestützte Instruments können viele dieser langweiligen Aufgaben automatisieren, sodass sich Entwickler auf komplexere und lohnendere Aspekte ihrer Projekte konzentrieren können. Dazu gehört das Erstellen von Boilerplates bis hin zum Einrichten von Projektvorlagen.

Betrachten wir die Aufgabe, ein neues Projekt einzurichten. Dazu gehört normalerweise das Erstellen von Verzeichnissen, das Initialisieren der Versionskontrolle, das Einrichten einer virtuellen Umgebung und das Installieren von Abhängigkeiten.

Viel Arbeit, oder?

Mit KI-gestützten Instruments wie ChatGPT können Sie diese Schritte automatisieren, indem Sie ein Skript erhalten, das den Einrichtungsprozess übernimmt. So sparen Sie wertvolle Zeit und verringern das Risiko menschlicher Fehler.

5. Lernen und Anpassen

Aktuelle KI-gestützte Instruments wie ChatGPT oder Gemini sind bereits mit dem Web verbunden. Das bedeutet, dass sie ständig mit neuen Programmiersprachen, Frameworks und Instruments aktualisiert werden, sodass sich Entwickler auf sie verlassen können, um aktuelle Fakten und Informationen zu erhalten.

Darüber hinaus kann das Modell durch Feinabstimmung oder sogar personalisierte GPTs angepasst werden, um es noch besser an die individuellen Vorlieben und Codierungsstile des Benutzers anzupassen und so eine persönlichere Hilfe zu bieten.

Wenn Sie beispielsweise häufig mit einem bestimmten JavaScript-Framework wie React arbeiten, kann ChatGPT seine Empfehlungen oder Beispiele an die aktuellen Entwicklungen in der React-Entwicklung anpassen.

Dieses kontinuierliche Lernen und Anpassen stellt sicher, dass ChatGPT auch dann noch eine wertvolle Ressource bleibt, wenn sich die Programmierwelt weiterentwickelt.

Abschluss

Diese KI-gestützten Instruments sind nicht nur Chatbots, sondern leistungsstarke Hilfsmittel, die den Entwicklungsprozess erleichtern können. In Bezug auf das Wissen, das Ihnen zur Verfügung steht, gibt es Maßnahmen zur Verbesserung der Codequalität, Schritte zur Verbesserung der Zusammenarbeit und Prozesse zur Aufgabenautomatisierung. Dies macht das Programmieren für alle zugänglich, egal ob Beginner- oder erfahrener Entwickler. Die Integration von ChatGPT in den Arbeitsablauf kann die Produktivität steigern und das Innovationsniveau erhöhen.

Erleben Sie die Zukunft des Programmierens mit diesen neuen KI-gestützten Instruments. Dadurch ändert sich Ihre Wahrnehmung des Programmierens, und es wird einfacher und kollaborativer als je zuvor.

Josep Ferrer ist ein Analytikingenieur aus Barcelona. Er hat einen Abschluss in Physikingenieurwesen und arbeitet derzeit im Bereich der Datenwissenschaft, angewandt auf menschliche Mobilität. Er ist ein Teilzeit-Content material-Ersteller mit Schwerpunkt auf Datenwissenschaft und Technologie. Josep schreibt über alles, was mit KI zu tun hat, und befasst sich mit der Anwendung der anhaltenden Explosion in diesem Bereich.

[ad_2]

]]>
http://chatgpz.de/data-analytics/wie-chatgpt-das-programmieren-veraendert/feed/ 0 2345