Obiective:
Machine Learning este o metodă de analiză a datelor care automatizează construirea modelelor predictive. Se bazează pe ideea că sistemele pot învăța din date, identifica modele și lua decizii fără intervenție umană. Acest proces este esențial în aplicații precum:
Regresia liniară este una dintre cele mai simple metode de predicție folosite în învățarea supervizată. Scopul este de a găsi o relație liniară între o variabilă dependentă yy (de ex., prețul casei) și una sau mai multe variabile independente xx (de ex., suprafața casei).
Ecuația generală: y=m⋅x+by = m \cdot x + b
Unde:
Setul de date Boston Housing este utilizat frecvent în problemele de regresie. El conține informații despre prețurile caselor din suburbii ale Bostonului și caracteristici relevante, precum:
from sklearn.datasets import load_boston import pandas as pd # Încărcarea datelor boston = load_boston() # Crearea unui DataFrame pentru o vizualizare mai bună data = pd.DataFrame(boston.data, columns=boston.feature_names) data['PRICE'] = boston.target # Afișarea primelor 5 rânduri print(data.head()) # Informații despre setul de date print(data.info()) # Statistici descriptive print(data.describe())
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error # Încărcarea datelor boston = load_boston() X = boston.data[:, 5].reshape(-1, 1) # RM (număr de camere) y = boston.target # Prețul locuinței # Împărțirea datelor în seturi de antrenament și testare X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Crearea modelului de regresie liniară model = LinearRegression() # Antrenarea modelului model.fit(X_train, y_train) # Prezicerea valorilor pe setul de testare predictions = model.predict(X_test) # Calcularea erorii medii pătratice (MSE) mse = mean_squared_error(y_test, predictions) print(f"Eroarea medie pătratică: {mse:.2f}") # Vizualizarea rezultatelor plt.scatter(X_test, y_test, color='blue', label='Valori reale') plt.plot(X_test, predictions, color='red', label='Linia de regresie') plt.xlabel('Număr mediu de camere') plt.ylabel('Prețul mediu al locuinței (în mii USD)') plt.title('Regresie liniară - Boston Housing') plt.legend() plt.show() # Predicție pentru o casă cu 6 camere prediction = model.predict([[6]]) print(f"Prețul prezis pentru o casă cu 6 camere: {prediction[0]:.2f} mii USD")
2.Evaluare:
3.Extindere:
ESP32-CAM AI-Thinker este o variantă specializată a seriei ESP32, concepută pentru aplicații cu camere:
ESP32-CAM-MB este un programatorul micro USB de la Espressif Systems, având support pentru chipul serial CH340G.
Urmați acest ghid pentru a configura ESP32-CAM Ai-Thinker:
In caz ca intampinati probleme consultati link-ul urmator: ESP32-CAM Troubleshooting
1. Dupa ce setup-ul a fost realizat il validam folosind urmatorul cod demo:
/********* Rui Santos Complete project details at https://RandomNerdTutorials.com/vs-code-platformio-ide-esp32-esp8266-arduino/ *********/ #include <Arduino.h> #define LED 4 void setup() { // put your setup code here, to run once: Serial.begin(115200); pinMode(LED, OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(LED, HIGH); Serial.println("LED is on"); delay(1000); digitalWrite(LED, LOW); Serial.println("LED is off"); delay(1000); }
3. Aflați cum să implementați modele TensorFlow Lite pe ESP32-CAM pentru sarcini TinyML urmând acest tutorial:TinyML ESP32.
Asigurati-va ca aveti instalate urmatoarele biblioteci: