در این پست از سری آموزش رایگان TensorFlow به مسئله رگرسیون (Regression) می پردازیم. در رگرسیون ، هدف ما پیش بینی تولید یک مقدار مداوم (continuous ) است، مانند افزایش و کاهش قیمت طلا یا یک احتمال وقوع یک اتفاق . در مقایسه با مبحث دسته بندی (classification) ، جایی که ما قصد داشتیم یک کلاس را از لیست کلاس ها انتخاب کنیم .
دیتاست و پیشنیاز ها:
در این آموزش ما از دیتاست معروف Auto MPG استفاده می کنیم. ما مدلی را برای پیش بینی راندمان سوخت خودروهای اواخر دهه 1970 و اوایل دهه 1980 ایجاد می کنیم. برای این کار ، توضیحی در مورد بسیاری از خودروها از آن دوره زمانی مدل ارائه می دهیم. این توضیحات شامل ویژگی هایی مانند: سیلندر ، جابجایی ، اسب بخار و وزن است.
مواد مورد نیاز برای این آزمایش : کتابخانه seaborn برای به نمودار و نمایش کشیدن نتایج. خود TensorFlow. خود Keras. گوگل درایو و افزونه Google Colab.برای شروع وارد گوگل درایو خود شده و یک فایل ipynb ایجاد کنید در اولین قدم با قطعه کد زیر کتابخانه seaborn را نصب و فعال کنید :
!pip install -q seaborn
خوب حالا زمان فراخوانی کتابخانه های پیشفرض است :
from __future__ import absolute_import, division, print_function, unicode_literals import pathlib import matplotlib.pyplot as plt import pandas as pd import seaborn as sns import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers print(tf.__version__)
دیتا ست را از سایت اصلی باید دانلود کنیم (اینجا). برا این کار کد زیر را اجرا بگیرید:
dataset_path = keras.utils.get_file("auto-mpg.data", "https://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data") dataset_path
خوب مثل همیشه باید داده ها را بدانیم تا بتوانید به سیستم آموزش دهیم. برای نمایش داده ها از pandas استفاده میکنیم. pandas یک کتابخانه متن باز بسیار قدرتمند است. این کتابخانه ساختارهای داده با کارایی بالا و کاربرد آسان و ابزارهای تحلیل داده برای زبان برنامه نویسی پایتون را ارائه می دهد.
column_names = ['MPG','Cylinders','Displacement','Horsepower','Weight', 'Acceleration', 'Model Year', 'Origin'] raw_dataset = pd.read_csv(dataset_path, names=column_names, na_values = "?", comment='\t', sep=" ", skipinitialspace=True) dataset = raw_dataset.copy() dataset.tail()
نتیجه کد:
پاکسازی داده ها:
می دانیم که مجموعه داده شامل مقادیر ناشناخته ای است. برای همین منظور از اصلا پاکسازی داده استفاده میکنیم. سپس سطر های مورد نظر را از دیتاست دانلودی حذف میکنیم تا کار ساده تر گردد:
dataset.isna().sum() dataset = dataset.dropna()
اما همانگونه که در استفاده از کتابخانه panda متوجه شدیم، این دیتاست دارای ستون هایی با نام طبقه بندی است و عددی نیست . پس باید از تکنیک One Hot Encoding استفاده کنیم . این تکنیک متغیرهای طبقه بندی شده را یه بردارهای باینری تبدیل می کند. این امر ابتدا نیاز دارد که مقادیر طبقه بندی شده در مقادیر عدد صحیح خود تخصیص داده شوند. سپس ، هر مقدار عدد صحیح به عنوان یک بردار باینری نمایش داده می شود که تمام مقادیر صفر به جز شاخص عدد صحیح است که با علامت 1 مشخص می شود. کد :
origin = dataset.pop('Origin') dataset['USA'] = (origin == 1)*1.0 dataset['Europe'] = (origin == 2)*1.0 dataset['Japan'] = (origin == 3)*1.0 dataset.tail()
نتیجه کد:

آموزش رایگان TensorFlow
پایان بخش اول.