آموزش پایتون: گرسیون - ویژگی ها و برچسب ها :: بیسین - سایت تخصصی مهندسی آب

آموزش پایتون: گرسیون - ویژگی ها و برچسب ها


بر اساس آموزش قبلی ریاضی یادگیری ماشین، بر پایه اطلاعات قیمت سهام ما رگرسیون را انجام خواهیم داد. کد تا این نقطه به صورت زیر بود:


import Quandl
import pandas as pd

df = Quandl.get("WIKI/GOOGL")
df = df[['Adj. Open',  'Adj. High',  'Adj. Low',  'Adj. Close', 'Adj. Volume']]
df['HL_PCT'] = (df['Adj. High'] - df['Adj. Low']) / df['Adj. Close'] * 100.0
df['PCT_change'] = (df['Adj. Close'] - df['Adj. Open']) / df['Adj. Open'] * 100.0
df = df[['Adj. Close', 'HL_PCT', 'PCT_change', 'Adj. Volume']]
print(df.head())


امید در اینجا این است که ما داده ها را برداشت کرده ایم، تصمیم گرفته ایم بر روی داده های با ارزش، داده های ارزشمندی جدیدی را از طریق دستکاری ایجاد کنیم، و اکنون آماده هستیم تا روند یادگیری ماشین با رگرسیون آغاز شود. اول، ما نیاز به ورود چند مقدار بیشتر هستیم. همه کدهای ورود داده در حال حاضر به صورت زیر خواهد بود:


import Quandl, math
import numpy as np
import pandas as pd
from sklearn import preprocessing, cross_validation, svm
from sklearn.linear_model import LinearRegression


ما از ماژول numpy برای تبدیل داده ها به آرایه های numpy استفاده می کنیم، این همان چیزی است که Scikit-learn می خواهد. ما بیشتر در مورد پیش پردازش و cross_validation صحبت خواهیم کرد، در حالی که ما در کد این موارد را به آنها می گوییم، اما پیش پردازش ماژول است که برای انجام برخی از تمیز کردن / مقیاس داده ها قبل از یادگیری دستگاه استفاده می شود و cross_ validation در مراحل آزمایش استفاده می شود. در نهایت، ما نیز الگوریتم LinearRegression و svm از Scikit-learn را وارد می کنیم که به عنوان الگوریتم یادگیری ماشین ما برای نشان دادن نتایج استفاده می شود.


در این نقطه، ما داده هایی داریم که فکر می کنیم مفید است. چطور فرآیند واقعی یادگیری ماشین کار می کند؟ با یادگیری نظارت شده، شما دارای ویژگی ها و برچسب ها هستید. ویژگی ها ویژگی های توصیفی هستند و برچسب چیزی است که شما در حال تلاش برای پیش بینی یا پیش بینی آن می کنید. یکی دیگر از نمونه های معمول با رگرسیون ممکن است سعی شود پیش بینی ارزش دلار یک حق بیمه برای کسی باشد. این شرکت ممکن است سن شما، تخلفات رانندگی گذشته، سابقه کیفری عمومی و نمره اعتباری شما را برای مثال جمع آوری کند. این شرکت از مشتریان گذشته، با استفاده از این داده ها و تغذیه در مبلغ «حق بیمه ایده آل» که آنها فکر می کنند باید به آن مشتری داده شود، استفاده می شود و یا از آنچه در واقع استفاده می کنند، اگر فکر می کنند که این مقدار سودآور است.


بنابراین، برای آموزش طبقه بندی یادگیری ماشین، ویژگی ها ویژگی های مشتری هستند، برچسب حق بیمه مربوط به آن ویژگی ها است.


در مورد ما، چه چیزی ویژگی ها است و برچسب چیست؟ ما در حال تلاش برای پیش بینی قیمت هستیم، بنابراین قیمت برچسب است؟ اگر چنین است، چه چیزهایی هستند؟ وقتی که قیمت پیش بینی می شود، برچسب ما، چیزی که ما امیدواریم پیش بینی کنیم، در واقع قیمت آینده است. به همین ترتیب، ویژگی های ما در واقع: قیمت جاری، منفی و کم بودن درصد و نوسانات درصد تغییر است. قیمت این برچسب باید قیمت در برخی از نقاط تعیین شده در آینده باشد. بیایید پیش برویم و چندین ردیف جدید اضافه کنیم:


forecast_col = 'Adj. Close'
df.fillna(value=-99999, inplace=True)
forecast_out = int(math.ceil(0.01 * len(df)))


در اینجا ستون پیش بینی را تعریف می کنیم و سپس هر داده NaN را با -99999 پر می کنیم. شما در مورد چگونگی رسیدگی به اطلاعات دست نیافتنی چند گزینه دارید. شما نمیتوانید یک NaN) Not a Number) نقطه-داده را به یک طبقه بندی یادگیری ماشین منتقل کنید. یکی از گزینه های محبوب این است که اطلاعات خراب شده را با -99999 تغییر دهید. با استفاده از بسیاری از طبقه بندی های یادگیری ماشین، این فقط به عنوان یکی از ویژگی های برجسته شناخته شده و تصحیح می شود. شما همچنین می توانید تمام مجموعه های ویژگی / برچسب که حاوی داده های از دست رفته اند را حذف کنید، اما پس از آن ممکن است بسیاری از داده ها را از دست بدهید.


در دنیای واقعی، بسیاری از مجموعه داده ها بسیار خراب است. اکثر اطلاعات قیمت سهام / حجم بسیار متفاوت است، و به ندرت بدون داده های از دست رفته، در اصل بسیاری از مجموعه داده ها بسیاری از داده های از دست رفته را در خود خواهند داشت. من داده های مجموعه ای را دیده ام که در آن اکثریت ردیف ها حاوی اطلاعات کم اطلاعاتی هستند. شما لزوما قصد ندارید تمام داده های بزرگ را از بین ببرید، به علاوه، اگر داده های نمونه شما دارای مفقودی باشند، احتمالا می توانید از پرونده مورد استفاده در دنیای واقعی خود نیز استفاده کنید. شما نیاز به آموزش، تست، و بکارگیری همه با همان داده ها و ویژگی های آن داده ها.


در نهایت، ما تعریف می کنیم که ما می خواهیم پیش بینی کنیم. در بسیاری از موارد، مانند مورد تلاش برای پیش بینی حق بیمه مشتری، شما فقط می خواهید یک شماره، برای "در حال حاضر" بدست دهید، اما با پیش بینی، شما می خواهید به پیش بینی تعداد مشخصی از datapoints برسید. ما می گوئیم که می خواهیم 1٪ از کل مجموعه داده را پیش بینی کنیم. بنابراین، اگر اطلاعات ما 100 روز قیمت سهام باشد، می خواهیم قادر به پیش بینی قیمت یک روز آینده باشیم. هرچه دوست دارید انتخاب کنید اگر شما فقط سعی می کنید قیمت فردا را پیش بینی کنید، پس فقط یک روز را صرف کنید و پیش بینی فقط یک روز باشد. اگر 10 روز پیش را پیش بینی کنید، می توانیم هر روز یک هفته برای یک و نیم هفته آینده تولید کنیم.


در مورد مثال ما، تصمیم گرفته ایم که ویژگی ها، یک دسته از مقادیر فعلی هستند، و برچسب در آینده خواهد بود، که در آن آینده 1٪ از کل طول مجموعه داده ها باشد. ما تمام ستون های کنونی را به عنوان ویژگی هایی فرض می کنیم، بنابراین ستون جدیدی با عملیات پاندا ساده اضافه می کنیم:


df['label'] = df[forecast_col].shift(-forecast_out)


حالا ما داده هایی داریم که شامل ویژگی ها و برچسب های ما است. سپس، قبل از اینکه همه چیز را اجرا کنیم، باید ابتدا پردازش و مراحل نهایی دیگر را انجام دهیم، این چیزی است که ما در آموزش بعدی تمرکز خواهیم کرد.


تهیه از: بهزاد سرهادی

 کلیه سرفصل های برنامه نویسی: اینجا کلیک کنید.





نظرات (۰)

فرم ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی


درباره بهترين هاي بيسيـــن بدانيد...

Bird

يکي از مهمترين اهداف اين سايت تهيه آموزش هاي روان از ابزارهاي کاربردي علوم آب است.

اهميت مطالعات محيطي با ابزارهاي نوين در چيست؟

امروز با فارغ التحصيلي جمع کثير دانشجويان سالهاي گذشته و حال، با گذر از کمي گرايي ديگر صرف وجود مدارک دانشگاهي حرف اول را در بازار کار نمي زند؛ بلکه سنجش ديگري ملاک؛ و شايسته سالاري به ناچار! باب خواهد شد. يکي از مهم ترين لوازم توسعه علمي در هر کشور و ارائه موضوعات ابتکاري، بهره گيري از ابزار نوين است، بيسين با همکاري مخاطبان مي تواند در حيطه علوم آب به معرفي اين مهم بپردازد.

جستجو در بيسين


بیسین - سایت تخصصی مهندسی آب

سایت مهندسی آب بیسین با معرفی مهم ترین و کاربردی ترین نرم افزارها و مدل های شبیه سازی در حیطه مهندسی آب، تلاش به تهیه خدمات یکپارچه و محلی از محاسبات هیدرولوژیکی و هیدرولیکی می کند

W3Schools


اطلاعات سايت

  • behzadsarhadi@gmail.com
  • بهزاد سرهادي
  • شناسه تلگرام: SubBasin
  • شماره واتساپ: 09190622992-098
  • شماره تماس: 09190622992-098

W3Schools