طبقه بندی خدمات وب با استفاده از الگوریتم های داده کاوی
- 1400/7/4
- 1035
- سایر مقاله ها
آشنایی با طبقه بندی خدمات وب
امروزه استفاده از اینترنت، تجارت الکترونیک، بانک داری اینترنتی و سایر برنامه های آنلاین گسترش یافته است. افراد با استفاده از ارتباطات شبکه ای به خدمات وب دسترسی دارند و در نهایت آن را به کاربران ارائه می دهند. همچنین توسعه دهندگان نرم افزار، به دنبال ارائه کیفیت بالای خدمات وب هستند تا نیازهای مورد نیاز کاربران را برطرف کنند. در این مقاله، داده های QWS را مورد تجزیه و تحلیل قرار داده سپس کیفیت خدمات و نیازهای آن را توسط رتبه بندی سرویس های وب اندازه گیری می کنیم .
در سال 1994، WWW (World Wide Web) یا به بیان ساده تر وب، توسط تیم برنرز لی و گروهی از اعضا در آزمایشگاه ذرات اروپایی در سوئیس اختراع شد. وب یک ایده اطلاعات فرامتنی برای حفظ اطلاعات شخصی بود. شایان ذکر است که سرویس ها و خدمات وب به طور مستقل می توانند به راحتی برای توصیف برنامه های مدولار برای همکاری با برنامه های تجاری، طراحی شوند. W3 به معنای برنامه کلاینت در یک سیستم است که با کلیک روی گزینه، شروع به نمایش یک شی می کند و سپس شیء دیگری را از سیستم دیگر، در سرور راه دور با استفاده از ارتباطات شبکه ای بازیابی می کند. اینترنت بیشتر از B2C ، B2B و تجارت الکترونیکی استفاده می کند. خدمات وب از فناوری هایی مانند XML ، WSDL ، UDDI (اکتشافات سرویس) و SOAP استفاده می کند. سرویس وب (WS) توسط سیستم مبتنی بر اینترنت ارائه می شود. با قرار دادن رجیستری خدمات می توانید به صفحه وب دسترسی پیدا کنید. عناصر مورد استفاده برای ساخت برنامه وب یکی از اجزای مهم وب UDDI است. همچنین از پروتکل ها برای جستجو و انتشار خدمات استفاده می شوند.
خدمات وب از معماری SOA استفاده می کند که دارای سه نقش از جمله ارائه دهنده، درخواست کننده و ثبت است. ارائه دهنده خدمات کسی است که می تواند خدمات را منتشر ، جستجو و پیدا کند. برای کشف برنامه های کاربردی توسط UDDI که یک ثبت خدمات است، درخواست کننده کاربران نهایی هستند که می خواهند به خدمات وب که توسط ارائه دهنده خدمات منتشر می شوند، دسترسی پیدا کنند. کشف سرویس وب (WS) شناسایی سرویس با توضیحات (WSDL) و API های خدمات تجاری است. برنامه ها به سرعت در حال افزایش طراح و توسعه دهنده هستند تا از طراحی و توسعه برنامه های با کیفیت که خواسته های مشتری را از رضایت کاربر از خدمات بر آورده می کند اطمینان حاصل کنند. سرویس وب از محیط تجاری پویا و تعاملات کاربران، کیفیت خدمات و رضایت استفاده می کند. به عنوان مثال، تجارت الکترونیکی، سرویس و خدمات وب با استفاده از معماری SOA ، تعاملات نوع و کاربردهای مورد استفاده در کاربران خدمات بزرگ، متوسط و کوچک دارند. فعالیت های تجاری روزمره توسط خدمات وب ساخته شده است. بنابراین کیفیت خدمات و انتخاب خدمات وب، برای مصرف کننده می تواند یک برنامه کاربردی مهم باشد. از الگوریتم های داده کاوی برای طبقه بندی کیفیت خدمات وب استفاده می شود. مجموعه داده QWS در مرحله اولیه از پیش پردازش و انتخاب داده های آموزشی با مجموعه داده های آزمایشی با استفاده از روش های طبقه بندی مختلف برای یافتن رتبه بندی خدمات وب استفاده می کند.
طبقه بندی سرویس های وب
همان طور که می دانیم، کیفیت بسیار مهم است و این کیفیت در ویژگی هایی مانند توزیع بار، جهت خدمات، توان، هزینه، زمان پاسخگویی و سایر عناصر مقایسه می شود. به عنوان مثال، برنامه های کاربردی وب تجارت الکترونیک عملکردهای مطابق SLA را با پارامترهای کیفیت رضایت بخش ارائه می دهند. در این مورد، داده ها شامل پارامترهای مختلف کیفی مانند زمان پاسخ ، توان عملیاتی ، در دسترس بودن ، قابلیت اطمینان ، بهترین شیوه ها ، انطباق ، تأخیر و اسناد است. طبقه بندی سرویس های وب عبارتند از کلاس 1 (کیفیت بالا) ، کلاس 2 (کیفیت خوب) ، کلاس 3 (کیفیت متوسط) و کلاس 4 (خدمات بی کیفیت). طبقه بندی خدمات وب با استفاده از مجموعه داده ورودی، از روش های یادگیری (تکنیک های طبقه بندی مانند جنگل تصادفی ، شبکه عصبی مصنوعی ، درخت تصمیم J48 ، افزایش شیب، نزدیکترین همسایه K و ماشین بردار پشتیبانی) استفاده می شود. ویژگی های انتخاب شده از جمله زمان پاسخگویی، دسترسی، قابلیت اطمینان، توان عملیاتی، در دسترس بودن، انطباق و بهترین شیوه ها و داده های آموزشی برای طبقه بندی داده ها به مقادیر دسته ای (رتبه 1 ، رتبه 2 ، رتبه 3 و رتبه 4) تعیین می شود.
جزئیات الگوریتم های داده کاوی
الگوریتم 1. جنگل تصادفی Random Forest
Random Forest یک درخت تصمیم است که دارای مجموعه ای از درختان تصمیم گیری است که به عنوان جنگل شناخته می شوند.
Input: QWS dataset
Output: Classification label class-1,2,3 and 4
Begin
Step 1: The training set is N and sample training set in a growing tree
Step 2: If input variables m< M each node, m is variable, M is a best to
split node.
Step3: Find the Class label in the best split criterion leaf node.
Step 4: Each tree grew at the maximum possible extent; then there will be no pruning.
End
الگوریتم 2. ANN
شبکه عصبی مصنوعی (ANN)
NN شامل یک لایه ورودی است که داده های ورودی در مجموعه داده QWS هفت مقدار ویژگی می پذیرد، لایه پنهان برای محاسبه عوامل برای محاسبه پیش بینی ها و ارسال به لایه خروجی، که برچسب های کلاس را پیش بینی می کند. یک نورون به نام پردازش قرض گفته می شود (نورون مصنوعی نورون های بیولوژیکی است) ورودی های n وجود دارد {Xi1 ، Xi2 ،… ، Xij} ، در اینجا حتی ویژگی های ورودی داده های QWS را گرفته ایم، هر Xij با وزن ij مرتبط است، Bias (c) یک شبکه است، برای محاسبه ورودی خالص با افزودن ورودی ij. ، Threshold (Ɵi) ، به مقداری رسیده است که از مقدار ورودی فراتر رود. خروجی (O) پس از اجرای عملیات یک مقدار غیر خطی (Fi) است. ما آزمایش هایی را با استفاده از شبکه عصبی مجموعه داده QWS 2507 هفت پیش بینی کننده و چهار کلاس "Class1" ، "Class2" ، "Class3" و "class4" انجام داده ایم.
.INPUT: D is an input dataset of training tuples which are associated with target values Rank1,2,3, and 4
L: learning rate of the network, Feedforward network use multilayers for accuracy
OUTPUT: A Trained NN with testing data to classify and predict class labels 1,2,3 and 4
BEGIN
Step1: Initialize weights, bias and in networks and biases in the network
Repeat until the condition is not satisfied
BEGIN
Step2: Each training data records Xi, in D
BEGIN
Step3: // Propagate input data forward to layer
Step4: For input of each layer with j
BEGIN
Compute Result (Fi) = Input (Xi);// result of i/p is actual i/p
data.
//if More than one hidden layer improves the performance accuracy
Step5: each hidden layer or result at output layer unit J
NetInput (Xj)=∑WijFij+Ɵj // calculate net input j which
corresponds to the previous layer i, and compute Function output
Fi as Output (Oj)= (1/1+e-lj), calculate result output(sigmoid)
for input each j value.
each input j
END// Step 4 end
Step6: propagation errors if any
each unit for j in the results of the output layer
Errj=Fj(1-Fj)(Tj-Fj);// compute the error if any
For each input j in hidden layers; from considering last to the
first hidden layer
Compute Errj=Fj(1-Fj) ∑k ErrkWjk;// calculate error respect to
next higher layer k
weight for Wij in the network associated with each layer and
value
BEGIN
ΔWij=1+Err j Fj// increment of weight
Wij= Wij+ ΔWij;// update the weight value
END
Step7: For bias Ɵ in each network update value
Δ Ɵj=(l) + Err j // Bias increment
END
END
END
الگوریتم 3. J48
درخت تصمیم J48
رویکردی است که به عنوان پیش بینی کننده طبقه بندی از لیست مقادیر عمل می کند، هدف ارزش قابل اتکا است و برای پیش بینی مقدار هدف استفاده می شود.
DTreeQoS(DatapartitionDp, data attributes)
Input: QWS data Attributelist(RT,AV,TH,SUCC,REL,COMP,BP)
RT Response time, AV: Availability, TH: Throughput, SUCC, Successability, REL: Reliability, COM: Compliance, BP: Best practices.-
.QWSselectionMethod: Procedure for splitting into individual classes
.Output: Decision Tree with class labels class-1,2,3 and 4
Step1. Create a new node N
Step2. If data records partition Dp of the same class of type(1,2,3, and 4),
then return the leaf
Node N label with relevant class type as 1,2,3 and 4.
Step3. If (data attribute list)is EMPTY thenReturn N, leaf node, the
majority of classes in data partition Dp / // majority of classes
of class type
Step4. apply QWSselectionMethod(Dp, data attribute list) to find the best
splitting criterion.
Step5. Splitting criterion label N
Step6. If splitting data values and Multisplit permitted then//
Step7. Adddataattributelistdata attribute list– splitting attribute; //
removing splitting attribute
Step8. For the result of the splitting criterion of each // To find classify
label
Step9. Let Dresult be set of data records in Da satisfy result; //
apartition result
Step10. If Dresult is EMPTY then add to leaf label of majority class label
in Da to node N; else add a node returned by DTreeQoS (Dresult, dataattributelist) to node N;
Step12. end for
Step13. Return N
تقویت گرادیان (تکنیک XGboost)
این یک الگوریتم یادگیری ماشین، یادگیری تحت نظارت برای یافتن وظایف رگرسیون، رتبه بندی و طبقه بندی است. پیش بینی (Yi) برای مقدار داده شده (Xi) با استفاده از یک مدل خطی برای پیش بینی Y'i = ∑ƟiXi استفاده می شود، جایی که ورودی وزن، می تواند تفسیرهای متفاوتی داشته باشد، این کار بستگی به رگرسیون یا طبقه بندی دارد. پارامتر علامت کار آمد مدل برای رتبه بندی خروجی ها استفاده می شود.
الگوریتم 4. رویکرد KNN
طبقه بندی K-Nearest Neighbours (KNN)
الگوریتم طبقه بندی KNN در انتخاب ویژگی دارای چندین کوله آموزش «گنجه» است، «k» شیئی که به رایج ترین آن ها اختصاص داده می شود که نزدیکترین همسایگان است. مشابه ترین مورد را از داده های آموزش پیدا کنید. داده های آزمایش بر اساس مجموعه ویژگی ها و توابع فاصله، به مجموعه داده های آموزشی شبیه می شود.
Input: Given records and attributes S, from Matrix a=[Aij]
Output: classification label (class-1,2,3 and 4)
Each record classified into Rank the web service (WsRF: Web service Relevancy Function)
begin
Step1. Given a set of records and attributes, form matrix A= [aij]
Step2. For each record P in the Test data do
For each record in A, in the training data A do
Calculate the similarity of input testing data which is most similar to
trained
dataset EUDistance(P,A)
Store DIS_Array(Pi,Ai) and find the class label.
end for
end for
end
SVM با رویکرد هسته عملکرد شعاعی
این روشی است که برای طبقه بندی داده ها استفاده می شود. استفاده از طبقه بندی SVM برای افزایش مقادیر دقیق از حاشیه حداکثر استفاده می کند. این یک طبقه بندی خطی است ، جایی که Ai ورودی است ، W متغیر یک خط مستقیم با ثابت B است. در فرمول پایین پردازش را نشان می دهد:
bF(Ai, W, B) = sign(AiW + B)
جایی که Ai ، داده های ورودی است که متغیر است و B ثابت یک خط مستقیم است:
Wai+b>= 1
اگر Fi =+1 که W یک متغیر خط است ، خط خطی WAi+b حداکثر حداکثر حاشیه M = 2/| W | است ، 1/2Wtw را با موضوع Minimize (w) = 1/2 Wt W و موضوع به حداقل برسانید. به خروجی (wAi+b) ≥1.
Wai+b<= 1
اگر Fi = -1 باشد که W یک متغیر است و
𝐹𝑖(𝑊𝐴𝑖 + 𝑏) ≥ 1
سخن پایانی
پیش از این به بیان روش های آموزش حرفه ای تجارت الکترونیک بر اساس الگوریتم داده کاوی پرداختیم حال در این پژوهش مجموعه داده های QWS را با استفاده از روش های مختلف داده کاوی جنگل تصادفی ، شبکه عصبی مصنوعی ، J48 ، تقویت گرادیانت و روش های پشتیبانی ماشین توضیح داده ایم ، که در آن دقت با استفاده از روش افزایش شیب گرادیانت 98.44٪ بهبود یافته است ، عملکرد تنظیم دقیق 98.45٪ و جنگل تصادفی 98.13٪ و عملکرد تنظیم دقیق 98.32٪ است. در آینده استفاده از پارامترهای ترکیبی برای بهبود عملکرد کلی برنامه وب با طبقه بندی ها ، پیش بینی ها ، توصیه هایی برای بهبود نرم افزار با کیفیت پیشنهاد می شود.
در پایان آموزش یادگیری ماشین با استفاده از R و پایتون پیشنهاد می شود.