نحوه انجام وظایف یادگیری ماشینی با پایتون و SQL

منتشر شده در freecodecamp به تاریخ ۱ می ۲۰۲۳لینک منبع How to Perform Machine Learning Tasks with Python and SQLپایتون یکی از پرکاربردترین زبان‌های برنامه‌نویسی برای یادگیری ماشینی است که این به لطف اکوسیستم غنی از کتابخانه‌ها، چارچوب‌ها و ابزارهای آن است.اما برای ساختن یک سیستم یادگیری ماشینی، باید به داده‌ها دسترسی داشته باشید. بیشتر داده‌ها در پایگاه‌های داده، به‌ویژه پایگاه‌های داده SQL ذخیره می‌شوند که توسط کسب‌وکارها و سازمان‌ها برای ذخیره و مدیریت داده‌ها استفاده می‌شوند.در این مقاله، نحوه انجام یادگیری ماشینی با پایتون و SQL را بررسی خواهیم کرد.نحوه اتصال به پایگاه داده SQL با پایتونبرای انجام یادگیری ماشینی با داده‌های ذخیره شده در پایگاه داده SQL، اولین قدم اتصال به پایگاه داده با استفاده از پایتون است.ما از کتابخانه PyMySQLاستفاده خواهیم کرد که یک کتابخانه کلاینت MySQL Python است که به شما امکان می‌دهد به یک سرور پایگاه داده MySQLمتصل شوید و پرس‌و‌جوهای SQL را انجام دهید.در اینجا مثالی از نحوه اتصال به پایگاه داده MySQL با استفاده از PyMySQL آورده شده است:import pymysql# Connect to the databaseconnection = pymysql.connect(host='localhost',user='username',password='password',database='database_name')# Create a cursor objectcursor = connection.cursor()# Execute an SQL queryquery = &quotSELECT * FROM table_name&quotcursor.execute(query)# Fetch the resultresult = cursor.fetchall()# Close the cursor and connectioncursor.close()connection.close()این کد به یک پایگاه داده MySQL که روی لوکال‌هاست اجرا می‌شود متصل می‌شود و تمام سطرها را از جدولی به نام table_name انتخاب می‌کند. سپس نتیجه واکشی شده و در متغیر نتیجه ذخیره می‌شود.نحوه استفاده از پایتون برای یادگیری ماشینی با داده‌های SQLپس از اتصال به پایگاه داده SQL، می‌توانیم از کتابخانه‌های پایتون مانند Pandas برای خواندن داده‌ها در Pandas DataFrame استفاده کنیم.قاب داده یک ساختار داده با برچسب دو بعدی با ستون‌هایی از انواع بالقوه متفاوت است. این مانند یک صفحه گسترده یا جدول SQL است.در اینجا مثالی از نحوه استفاده از پانداس برای خواندن داده‌ها از پایگاه داده SQLآورده شده است:import pandas as pdimport pymysql# Connect to the databaseconnection = pymysql.connect(host='localhost',user='username',password='password',database='database_name')# Read data into a Pandas DataFramedf = pd.read_sql('SELECT * FROM table_name', con=connection)# Close the connectionconnection.close()این کد از پانداس برای خواندن تمام داده‌ها از جدول table_nameدر پایگاه داده database_nameاستفاده می‌کند و آن را در یک Pandas DataFrameبه نام df ذخیره می‌کند. سپس اتصال پایگاه داده را می‌بندیم.با داده‌های موجود در Pandas DataFrame، می‌توانیم از کتابخانه‌های پایتون مانند Scikit-learn برای انجام وظایف مختلف یادگیری ماشینی استفاده کنیم. Scikit-learn یک کتابخانه محبوب یادگیری ماشینی است که الگوریتم‌های مختلفی را برای طبقه بندی، رگرسیون، خوشه‌بندی و موارد دیگر ارائه می‌دهد.در اینجا مثالی از نحوه استفاده از Scikit-learn برای انجام رگرسیون لجستیک بر روی داده‌ها آورده شده است:import pandas as pdimport pymysqlfrom sklearn.linear_model import LogisticRegression# Connect to the databaseconnection = pymysql.connect(host='localhost',user='username',password='password',database='database_name')# Read data into a Pandas DataFramedf = pd.read_sql('SELECT * FROM table_name', con=connection)# Prepare the dataX = df[['feature_1', 'feature_2']]y = df['target']# Create a logistic regression modelmodel = LogisticRegression()# Train the modelmodel.fit(X, y)# Close the connectionconnection.close()این کد از پانداس برای خواندن داده‌ها از جدول table_nameدر پایگاه داده database_nameاستفاده می‌کند و آن را در یک Pandas DataFrameبه نام df ذخیره می‌کند.سپس با انتخاب دو ویژگی (feature_1 و feature_2) و متغیر هدف (y) از قاب داده، داده‌ها را آماده می‌کنیم.در نهایت، یک مدل رگرسیون لجستیک با استفاده از کلاس LogisticRegression Scikit-learnایجاد می‌کنیم و مدل را با استفاده از روش fit() آموزش می‌دهیم.همچنین می‌توانیم از Scikit-learnبرای تقسیم داده‌ها به مجموعه‌های آموزشی و آزمایشی و همچنین ارزیابی عملکرد مدل استفاده کنیم. در اینجا مثالی از نحوه تقسیم داده‌ها و ارزیابی مدل آورده شده است:import pandas as pdimport pymysqlfrom sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score# Connect to the databaseconnection = pymysql.connect(host='localhost',user='username',password='password',database='database_name')# Read data into a Pandas DataFramedf = pd.read_sql('SELECT * FROM table_name', con=connection)# Prepare the dataX = df[['feature_1', 'feature_2']]y = df['target']# Split the data into training and testing setsX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)# Create a logistic regression modelmodel = LogisticRegression()# Train the modelmodel.fit(X_train, y_train)# Make predictions on the test sety_pred = model.predict(X_test)# Evaluate the modelaccuracy = accuracy_score(y_test, y_pred)print(f&quotAccuracy: {accuracy}&quot)# Close the connectionconnection.close()این کد از متد ()train_test_split Scikit-learn برای تقسیم داده‌ها به مجموعه‌های آموزشی و آزمایشی استفاده می‌کند.سپس یک مدل رگرسیون لجستیک ایجاد می‌کنیم، آن را با استفاده از روش fit() روی داده‌های آموزشی آموزش می‌دهیم، با استفاده از روش predict() روی مجموعه تست پیش‌بینی می‌کنیم و با استفاده از روش accuracy_score() عملکرد مدل را ارزیابی می‌کنیم.نتیجه‌گیریدر این مقاله نحوه انجام یادگیری ماشینی با پایتون و SQL را بررسی کردیم.ابتدا با استفاده از PyMySQLبه یک پایگاه داده SQL متصل شدیم، سپس از پانداس برای خواندن داده‌ها در Pandas DataFrame استفاده کردیم. سپس از Scikit-learn برای انجام رگرسیون لجستیک روی داده‌ها و همچنین تقسیم داده‌ها به مجموعه‌های آموزشی و آزمایشی و ارزیابی عملکرد مدل استفاده کردیم.با استفاده از این ابزارها، می‌توانید وظایف یادگیری ماشینی قدرتمندی را روی داده‌های ذخیره شده در پایگاه‌های داده SQL انجام دهید.این متن با استفاده از ربات ترجمه مقالات برنامه‌نویسی ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است. در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.