Python တွင်ဒေတာကိုပုံမှန်ဖြစ်အောင်လုပ်နည်း


ကိန်းဂဏန်းများနှင့် စက်သင်ယူမှုတွင် မကြာခဏဆိုသလို ကျွန်ုပ်တို့သည် တန်ဖိုးများ၏ အကွာအဝေး 0 နှင့် 1 အကြားဖြစ်သည့် ကိန်းရှင်များကို ပုံမှန်ပြုလုပ်သည်

ကိန်းရှင်များကို ပုံမှန်ဖြစ်အောင် ပြုလုပ်ခြင်း၏ အဖြစ်အများဆုံး အကြောင်းရင်းမှာ ကျွန်ုပ်တို့သည် အမျိုးမျိုးကွဲပြားသော ခွဲခြမ်းစိတ်ဖြာမှု အမျိုးအစားအချို့ကို လုပ်ဆောင်နေချိန် (ဆိုလိုသည်မှာ ခန့်မှန်းသူကိန်းရှင်များစွာနှင့် တုံ့ပြန်မှုကိန်းရှင်တစ်ခုကြား ဆက်စပ်မှုကို နားလည်လိုသည်) နှင့် ကိန်းရှင်တစ်ခုစီသည် ခွဲခြမ်းစိတ်ဖြာမှုတွင် အညီအမျှ ပံ့ပိုးပေးစေလိုပါသည်။

ကွဲပြားမှုများကို မတူညီသောစကေးများဖြင့် တိုင်းတာသောအခါ၊ ၎င်းတို့သည် ခွဲခြမ်းစိတ်ဖြာမှုတွင် တူညီစွာ မပါဝင်နိုင်ပေ။ ဥပမာအားဖြင့်၊ variable range တစ်ခု၏တန်ဖိုးများသည် 0 မှ 100,000 နှင့် အခြားသော variable range ၏ values များကို 0 မှ 100 ထိရှိပါက၊ ကြီးမြတ်သော range ရှိသော variable သည် ခွဲခြမ်းစိတ်ဖြာမှုတွင် ပိုကြီးသော weight ကို သတ်မှတ်ပေးမည်ဖြစ်ပါသည်။

ကိန်းရှင်များကို စံသတ်မှတ်ခြင်းဖြင့်၊ ကိန်းရှင်တစ်ခုစီသည် ခွဲခြမ်းစိတ်ဖြာမှုတွင် ညီတူညီမျှပါဝင်ကြောင်း ကျွန်ုပ်တို့သေချာနိုင်ပါသည်။

0 နှင့် 1 အကြားရှိ တန်ဖိုးများကို ပုံမှန်ဖြစ်အောင်၊ အောက်ပါဖော်မြူလာကို အသုံးပြုနိုင်ပါသည်။

x စံ = (x i – x min ) / (x max – x min )

ရွှေ-

  • x စံ ဒေတာအတွဲရှိ ith ပုံမှန်တန်ဖိုး
  • x i : dataset ၏ ith တန်ဖိုး
  • x အမြင့်ဆုံး : ဒေတာအတွဲရှိ အနိမ့်ဆုံးတန်ဖိုး
  • x min : ဒေတာအတွဲတွင် အများဆုံးတန်ဖိုး

အောက်ပါနမူနာများသည် Python တွင် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော variable များကို ပုံမှန်ပြုလုပ်နည်းကို ပြသထားသည်။

ဥပမာ 1- NumPy array ကို ပုံမှန်လုပ်ပါ။

အောက်ပါကုဒ်သည် NumPy အခင်းအကျင်းတစ်ခုတွင် တန်ဖိုးအားလုံးကို ပုံမှန်ဖြစ်အောင်ပြုလုပ်နည်းကို ပြသသည်-

 import numpy as np 

#create NumPy array
data = np. array ([[13, 16, 19, 22, 23, 38, 47, 56, 58, 63, 65, 70, 71]])

#normalize all values in array
data_norm = (data - data. min ())/ (data. max () - data. min ())

#view normalized values
data_norm

array([[0. , 0.05172414, 0.10344828, 0.15517241, 0.17241379,
        0.43103448, 0.5862069, 0.74137931, 0.77586207, 0.86206897,
        0.89655172, 0.98275862, 1. ]])

ပုံမှန်အခင်းအကျင်းရှိ တန်ဖိုးတစ်ခုစီသည် ယခုအခါ 0 နှင့် 1 ကြားဖြစ်သည်။

ဥပမာ 2- Pandas DataFrame ရှိ ကိန်းရှင်အားလုံးကို ပုံမှန်လုပ်ပါ။

အောက်ပါကုဒ်သည် pandas DataFrame ရှိ variable အားလုံးကို ပုံမှန်ဖြစ်အောင် ပြုလုပ်နည်းကို ပြသသည် ။

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#normalize values in every column
df_norm = (df-df. min ())/ (df. max () - df. min ())

#view normalized DataFrame
df_norm

        points assists rebounds
0 0.764706 0.125 0.857143
1 0.000000 0.375 0.428571
2 0.176471 0.375 0.714286
3 0.117647 0.625 0.142857
4 0.411765 1.000 0.142857
5 0.647059 0.625 0.000000
6 0.764706 0.625 0.571429
7 1.000000 0.000 1.000000

ကော်လံတစ်ခုစီရှိ တန်ဖိုးတစ်ခုစီသည် ယခုအခါ 0 နှင့် 1 ကြားဖြစ်သည်။

ဥပမာ 3- Pandas DataFrame တွင် သတ်မှတ်ထားသော ကိန်းရှင်များကို ပုံမှန်လုပ်ပါ။

အောက်ပါကုဒ်သည် pandas DataFrame တွင် တိကျသော variable တစ်ခုကို ပုံမှန်ဖြစ်အောင် ပြုလုပ်နည်းကို ပြသသည် ။

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

define columns to normalize
x = df. iloc [:,0:2]

#normalize values in first two columns only
df. iloc [:,0:2] = (xx. min ())/ (x. max () - x. min ())

#view normalized DataFrame
df

	points assists rebounds
0 0.764706 0.125 11
1 0.000000 0.375 8
2 0.176471 0.375 10
3 0.117647 0.625 6
4 0.411765 1.000 6
5 0.647059 0.625 5
6 0.764706 0.625 9
7 1.000000 0.000 12

ပထမကော်လံနှစ်ခုရှိ တန်ဖိုးများကိုသာ ပုံမှန်ဖြစ်အောင် ပြုလုပ်ထားကြောင်း သတိပြုပါ။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ပါသင်ခန်းစာများသည် ဒေတာပုံမှန်ဖြစ်အောင်ပြုလုပ်ခြင်းဆိုင်ရာ နောက်ထပ်အချက်အလက်များကို ပေးဆောင်သည်-

0 နှင့် 1 ကြား ဒေတာကို ပုံမှန်ဖြစ်အောင် လုပ်နည်း
0 နှင့် 100 ကြား ဒေတာကို ပုံမှန်ဖြစ်အောင် လုပ်နည်း
စံသတ်မှတ်ခြင်း သို့မဟုတ် ပုံမှန်ပြုလုပ်ခြင်း- ကွာခြားချက်ကား အဘယ်နည်း။

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်