የ Python ፕሮግራመር ከሆንክ ወይም የማሽን መማርን ወደ ምርት ስርአት ለማስተዋወቅ የምትጠቀምበት ኃይለኛ የመሳሪያ ኪት እየፈለግክ ከሆነ፣ Scikit-learn መመልከት ያለብህ ቤተ መፃህፍት ነው።
ለማሽን መማር አዲስ ከሆንክ፣ በፍጥነት መነሳት እና መሮጥ ትፈልጋለህ፣ ወይም በጣም ወቅታዊ የሆነውን የML ምርምር መሳሪያ ለመጠቀም Scikit-learn በደንብ የተመዘገበ እና ለመጠቀም ቀላል ነው።
በጥቂት የኮድ መስመሮች ውስጥ የሚገመተውን የውሂብ ሞዴል እንዲገነቡ ይፈቅድልዎታል እና ከዚያ ሞዴሉን እንደ ከፍተኛ ደረጃ ቤተ-መጽሐፍት ውሂብዎን ለማሟላት ይጠቀሙበታል። ተለዋዋጭ እና ከሌሎች ጋር በደንብ ይሰራል Python ቤተ-መጻሕፍት እንደ Matplotlib ለቻርት፣ NumPy ለድርድር ቬክተሪላይዜሽን እና ፓንዳስ ለውሂብ እይታ።
በዚህ መመሪያ ውስጥ, ስለ ምን እንደሆነ, እንዴት እንደሚጠቀሙበት, ከጥቅሞቹ እና ጉዳቶቹ ጋር ሁሉንም ያገኛሉ.
ምንድነው ስኪት-መማር?
Scikit-learn (እንዲሁም sklearn በመባልም ይታወቃል) የተለያዩ የስታቲስቲክስ ሞዴሎችን እና የማሽን ትምህርትን ያቀርባል። ከአብዛኞቹ ሞጁሎች በተለየ፣ sklearn የሚሠራው ከ C ይልቅ በፓይዘን ነው። ምንም እንኳን በፓይዘን ውስጥ ቢሰራም፣ የ sklearn ቅልጥፍና NumPy ን ለከፍተኛ አፈጻጸም የመስመራዊ አልጀብራ እና የድርድር ኦፕሬሽኖች ይጠቀሳል።
Scikit-Learn የተፈጠረው እንደ ጎግል የበጋ ኮድ ፕሮጄክት አካል ሲሆን ከዚያን ጊዜ ጀምሮ በዓለም ዙሪያ ያሉ በሚሊዮኖች የሚቆጠሩ ፓይዘንን ያማከለ ዳታ ሳይንቲስቶችን ሕይወት ቀላል አድርጓል። ይህ የተከታታይ ክፍል የሚያተኩረው ቤተ-መጻሕፍትን በማቅረብ እና በአንድ አካል ላይ በማተኮር ላይ ነው - የውሂብ ስብስብ ትራንስፎርሜሽን፣ የትንበያ ሞዴል ከማዘጋጀትዎ በፊት መወሰድ ያለብዎት ቁልፍ እና አስፈላጊ እርምጃ።
ቤተ መፃህፍቱ በ SciPy (Scientific Python) ላይ የተመሰረተ ነው፣ እሱም scikit-Learnን ከመጠቀምዎ በፊት መጫን አለበት። ይህ ቁልል የሚከተሉትን ንጥረ ነገሮች ይዟል።
- NumPy፡ የ Python መደበኛ n-dimensional array ጥቅል
- SciPy፡ ለሳይንሳዊ ስሌት መሰረታዊ ጥቅል ነው።
- Pandas: የውሂብ አወቃቀሮች እና ትንተና
- ማትፕሎትሊብ፡ ኃይለኛ 2D/3D የዕቅድ ቤተ-መጽሐፍት ነው።
- ሲምፒ፡ ተምሳሌታዊ ሂሳብ
- አይፒቶን፡ የተሻሻለ በይነተገናኝ ኮንሶል
የScikit-ተማር ቤተ-መጽሐፍት መተግበሪያዎች
Scikit-learn የተራቀቁ የመረጃ ትንተና እና የማዕድን ባህሪያት ያለው የክፍት ምንጭ Python ጥቅል ነው። ከውሂብ ሳይንስ ፕሮጄክቶችዎ ምርጡን እንዲያገኙ ለማገዝ ከብዙ አብሮ የተሰሩ ስልተ ቀመሮች ጋር አብሮ ይመጣል። Scikit-learn ላይብረሪ በሚከተሉት መንገዶች ጥቅም ላይ ይውላል።
1. ማፈግፈግ
የድጋሚ ትንተና በሁለት ወይም ከዚያ በላይ ተለዋዋጮች መካከል ያለውን ግንኙነት ለመተንተን እና ለመረዳት የሚያስችል ስታቲስቲካዊ ዘዴ ነው። የትኛዎቹ አካላት ተዛማጅ እንደሆኑ፣ የትኞቹን ችላ ሊባሉ እንደሚችሉ እና እንዴት እንደሚገናኙ ለመወሰን የሚረዳው የሪግሬሽን ትንተና ለመስራት የሚያገለግል ዘዴ ነው። የመመለሻ ዘዴዎች፣ ለምሳሌ፣ የአክሲዮን ዋጋዎችን ባህሪ የበለጠ ለመረዳት ጥቅም ላይ ሊውሉ ይችላሉ።
የመመለሻ ስልተ ቀመሮች የሚከተሉትን ያካትታሉ:
- መስመራዊ Regression
- ሪጅ ሪግሬሽን
- የላስሶ ሪጅንስ
- የውሳኔ ዛፍ መመለሻ
- የዘፈቀደ ጫካ
- የቬክተር ማሽኖችን ይደግፉ (SVM)
2. ምደባ
የምደባ ዘዴው ትኩስ ምልከታዎችን ለመለየት የሥልጠና መረጃን የሚጠቀም ክትትል የሚደረግበት የመማሪያ አካሄድ ነው። በምደባ ውስጥ ያለው አልጎሪዝም ከተሰጠው ይማራል። የውሂብ ስብስብ ወይም ምልከታዎች እና ከዚያም ተጨማሪ ምልከታዎችን ከብዙ ክፍሎች ወይም ቡድኖች ወደ አንዱ ይመድባል። ለምሳሌ የኢሜይል ግንኙነቶችን እንደ አይፈለጌ መልእክት ለመመደብ ወይም ላለማድረግ ጥቅም ላይ ሊውሉ ይችላሉ።
የምደባ ስልተ ቀመሮች የሚከተሉትን ያካትታሉ:
- ሎጂስቲካዊ እድገት።
- K-የቅርብ ጎረቤቶች
- የቬክተር ማሽንን ይደግፉ
- የውሳኔ ዛፍ
- የዘፈቀደ ጫካ
3. ስብስብ
በScikit-learn ውስጥ ያሉ የክላስተር ስልተ ቀመሮች ከተመሳሳይ ንብረቶች ጋር ውሂብን ወደ ስብስቦች ለማቀናጀት ይጠቅማሉ። ክላስተር አንድ አይነት ቡድን ውስጥ ያሉት ከሌሎች ቡድኖች ጋር ተመሳሳይ እንዲሆኑ የንጥሎች ስብስብ የመቧደን ሂደት ነው። ለምሳሌ የደንበኛ ውሂብ በአካባቢያቸው ሊለያይ ይችላል።
የክላስተር ስልተ ቀመር የሚከተሉትን ያጠቃልላል።
- ዲቢ-ስካን
- K-ማለት
- Mini-Batch K-Means
- ስፔክትራል ክላስተር
4. ሞዴል ምርጫ
የሞዴል ምርጫ ስልተ ቀመሮች በመረጃ ሳይንስ ተነሳሽነት ውስጥ ጥቅም ላይ የሚውሉትን መለኪያዎች እና ሞዴሎች ለማነፃፀር ፣ ለማፅደቅ እና ለመምረጥ ዘዴዎችን ይሰጣሉ ። ከመረጃ አንፃር፣ የሞዴል ምርጫ ከእጩ ሞዴሎች ቡድን ውስጥ የስታቲስቲክስ ሞዴልን የመምረጥ ችግር ነው። በጣም መሠረታዊ በሆኑ ሁኔታዎች ውስጥ, ቀደም ሲል የነበረ የውሂብ ስብስብ ግምት ውስጥ ይገባል. ነገር ግን፣ የተገኘው መረጃ ከአምሳያው ምርጫ ችግር ጋር የሚስማማ እንዲሆን ስራው የሙከራዎችን ንድፍ ሊያካትት ይችላል።
መለኪያዎችን በማስተካከል ትክክለኛነትን ሊያሻሽሉ የሚችሉ የሞዴል ምርጫ ሞጁሎች የሚከተሉትን ያካትታሉ:
- ተሻጋሪ ማረጋገጫ
- የፍርግርግ ፍለጋ
- ልኬቶች
5. የመጠን ቅነሳ
ከከፍተኛ-ልኬት ቦታ ወደ ዝቅተኛ-ልኬት ቦታ መረጃን ማስተላለፍ ዝቅተኛ-ልኬት ውክልና የመጀመሪያውን ውሂብ አንዳንድ ጉልህ ገጽታዎች እንዲጠብቅ ፣ ከተፈጥሮው ልኬት ጋር ቅርብ ነው ፣ የመጠን ቅነሳ በመባል ይታወቃል። የመጠን መጠኑ ሲቀንስ ለመተንተን የዘፈቀደ ተለዋዋጮች ቁጥር ይቀንሳል። ውጫዊ መረጃ፣ ለምሳሌ፣ የእይታዎችን ውጤታማነት ለማሻሻል ላይታሰብ ይችላል።
የመጠን ቅነሳ ስልተ ቀመር የሚከተሉትን ያካትታል:
- የተመረጡ ምርጫ
- የዋና ክፍል ትንተና (ፒሲኤ)
Scikit-ተማርን በመጫን ላይ
Scikit-Learnን ከመጠቀምዎ በፊት NumPy፣ SciPy፣ Matplotlib፣ IPython፣ Sympy እና Pandas መጫን ይጠበቅባቸዋል። ከኮንሶል ውስጥ ፒፕን በመጠቀም እንጭናቸው (ለዊንዶውስ ብቻ ነው የሚሰራው).
የሚያስፈልጉትን ቤተ-መጻሕፍት ስለጫንን Scikit ን እንጫን።
ዋና መለያ ጸባያት
Scikit-learn፣ አንዳንድ ጊዜ sklearn በመባል የሚታወቀው፣ የማሽን መማሪያ ሞዴሎችን እና ስታቲስቲካዊ ሞዴሊንግን ተግባራዊ ለማድረግ የ Python መሣሪያ ስብስብ ነው። በርካታ የማሽን መማሪያ ሞዴሎችን ለዳግም ተሃድሶ፣ ምደባ እና ስብስብ እንዲሁም እነዚህን ሞዴሎች ለመገምገም ስታቲስቲካዊ መሳሪያዎችን ለመፍጠር ልንጠቀምበት እንችላለን። እንዲሁም የመጠን ቅነሳን፣ የባህሪ ምርጫን፣ የባህሪን ማውጣት፣ የመሰብሰቢያ አቀራረቦችን እና አብሮገነብ የውሂብ ስብስቦችን ያካትታል። እያንዳንዳቸውን እነዚህን ባሕርያት አንድ በአንድ እንመረምራለን.
1. የውሂብ ስብስቦችን ማስመጣት
Scikit-learn እንደ አይሪስ ዳታ ስብስብ፣ የቤት ዋጋ ዳታ ስብስብ፣ የታይታኒክ ዳታ ስብስብ እና የመሳሰሉትን በርካታ አስቀድሞ የተገነቡ የውሂብ ስብስቦችን ያካትታል። የእነዚህ የውሂብ ስብስቦች ቁልፍ ጥቅሞች ለመረዳት ቀላል እና የኤምኤል ሞዴሎችን ወዲያውኑ ለማዘጋጀት ጥቅም ላይ ሊውሉ ይችላሉ. እነዚህ የውሂብ ስብስቦች ለጀማሪዎች ተስማሚ ናቸው። በተመሳሳይ፣ ተጨማሪ የውሂብ ስብስቦችን ለማስመጣት sklearnን መጠቀም ይችላሉ። በተመሳሳይ፣ ተጨማሪ የውሂብ ስብስቦችን ለማስመጣት ሊጠቀሙበት ይችላሉ።
2. ለስልጠና እና ለሙከራ የውሂብ ስብስብ መከፋፈል
Sklearn የመረጃ ቋቱን ወደ ስልጠና እና የሙከራ ክፍሎች የመከፋፈል ችሎታን አካቷል። የትንበያ አፈጻጸም አድልዎ ለሌለው ግምገማ የመረጃ ቋቱን መከፋፈል ያስፈልጋል። በባቡር እና በሙከራ ዳታ ስብስቦች ውስጥ ምን ያህል የእኛ መረጃ መካተት እንዳለበት ልንገልጽ እንችላለን። መረጃውን በባቡር ሙከራ ስንጥቅ ከፋፍለነዋል ይህም የባቡር ስብስብ መረጃውን 80% እና የሙከራ ስብስቡ 20% አለው. የውሂብ ስብስብ እንደሚከተለው ሊከፋፈል ይችላል.
3. መስመራዊ ሪግሬሽን
Linear Regression ክትትል የሚደረግበት ትምህርት ላይ የተመሰረተ የማሽን መማሪያ ዘዴ ነው። የመልሶ ማቋቋም ስራን ያከናውናል. በገለልተኛ ተለዋዋጮች ላይ በመመስረት፣ መመለሻ የግብ ትንበያ እሴትን ይቀርፃል። በአብዛኛው በተለዋዋጮች እና በመተንበይ መካከል ያለውን ግንኙነት ለመወሰን ይጠቅማል. የተለያዩ የመመለሻ ሞዴሎች በጥገኞች እና በገለልተኛ ተለዋዋጮች መካከል በሚገመገሙት የግንኙነት አይነት እንዲሁም ጥቅም ላይ በሚውሉ ገለልተኛ ተለዋዋጮች ብዛት ይለያያሉ። sklearnን በመጠቀም የሊኒየር ሪግሬሽን ሞዴልን በቀላሉ መፍጠር እንችላለን፡-
4. የሎጂስቲክ ሪግሬሽን
የተለመደው የምድብ አቀራረብ የሎጂስቲክ ሪግሬሽን ነው. እሱ ከፖሊኖሚል እና ከመስመር ሪግሬሽን ጋር በተመሳሳይ ቤተሰብ ውስጥ ነው እና የመስመራዊ ክላሲፋየር ቤተሰብ ነው። የሎጂስቲክ ሪግሬሽን ግኝቶች ለመረዳት ቀላል እና ለማስላት ፈጣን ናቸው። ልክ እንደ መስመራዊ ሪግሬሽን ፣ ሎጅስቲክ ሪግሬሽን ቁጥጥር የሚደረግበት የመመለሻ ዘዴ ነው። የውጤት ተለዋዋጭው ምድብ ነው, ስለዚህ ልዩነቱ ይህ ብቻ ነው. አንድ ታካሚ የልብ ሕመም እንዳለበት ወይም እንደሌለበት ሊወስን ይችላል.
እንደ አይፈለጌ መልእክት ፈልጎ ማግኘት ያሉ የተለያዩ የምደባ ጉዳዮች በሎጂስቲክስ ሪግሬሽን በመጠቀም ሊፈቱ ይችላሉ። የስኳር በሽታ መተንበይ፣ አንድ ሸማች አንድን ምርት እንደሚገዛ ወይም ወደ ተቀናቃኝ እንደሚቀየር መወሰን፣ አንድ ተጠቃሚ የተወሰነ የግብይት ማገናኛ ላይ ጠቅ እንደሚያደርግ መወሰን፣ እና ሌሎች ብዙ ሁኔታዎች ጥቂት ምሳሌዎች ናቸው።
5. የውሳኔ ዛፍ
በጣም ኃይለኛ እና በስፋት ጥቅም ላይ የዋለው የምደባ እና ትንበያ ዘዴ የውሳኔው ዛፍ ነው. የውሳኔ ዛፍ የወራጅ ገበታ የሚመስል የዛፍ መዋቅር ሲሆን እያንዳንዱ የውስጥ መስቀለኛ መንገድ በባህሪው ላይ ፈተናን ይወክላል፣ እያንዳንዱ ቅርንጫፍ የፈተናውን መደምደሚያ ይወክላል እና እያንዳንዱ ቅጠል መስቀለኛ መንገድ (ተርሚናል መስቀለኛ መንገድ) የክፍል መለያ ይይዛል።
ጥገኛ ተለዋዋጮች ከገለልተኛ ተለዋዋጮች ጋር ቀጥተኛ ግንኙነት ከሌላቸው፣ ማለትም መስመራዊ ሪግሬሽን ትክክለኛ ግኝቶችን ካላመጣ፣ የውሳኔ ዛፎች ጠቃሚ ናቸው። የ DecisionTreeRegression() ነገር የውሳኔን ዛፍ ለዳግም መግጠም በተመሳሳይ መንገድ ጥቅም ላይ ሊውል ይችላል።
6. የዘፈቀደ ጫካ
የዘፈቀደ ደን ሀ የማሽን መማር የመልሶ ማቋቋም እና ምደባ ጉዳዮችን ለመፍታት አቀራረብ። ውስብስብ ችግሮችን ለመፍታት ብዙ ክላሲፋየሮችን አጣምሮ የያዘውን የስብስብ ትምህርትን ይጠቀማል። የዘፈቀደ የደን ዘዴ ከብዙ የውሳኔ ዛፎች የተሠራ ነው። የብድር ማመልከቻዎችን ለመከፋፈል፣ የተጭበረበረ ባህሪን ለመለየት እና የበሽታዎችን ወረርሽኝ ለመገመት ሊያገለግል ይችላል።
7. ግራ መጋባት ማትሪክስ
ግራ መጋባት ማትሪክስ የምደባ ሞዴል አፈጻጸምን ለመግለጽ የሚያገለግል ሠንጠረዥ ነው። የተምታታ ማትሪክስን ለመመርመር የሚከተሉት አራት ቃላት ጥቅም ላይ ይውላሉ፡-
- እውነተኛ አወንታዊ፡- ሞዴሉ ጥሩ ውጤት መያዙን እና ትክክል መሆኑን ያሳያል።
- True Negative: ሞዴሉ መጥፎ ውጤትን እንደገመተ እና ትክክል መሆኑን ያመለክታል.
- የውሸት አዎንታዊ፡ ሞዴሉ ጥሩ ውጤት እንደሚጠብቅ ያሳያል ነገር ግን በእውነቱ አሉታዊ ነበር።
- የውሸት አሉታዊ፡ ሞዴሉ አሉታዊ ውጤት እንደሚጠብቅ ያሳያል፣ ውጤቱም በእውነቱ አዎንታዊ ነበር።
ግራ መጋባት ማትሪክስ ትግበራ;
ጥቅሙንና
- ለመጠቀም ቀላል ነው.
- የScikit-Learn ጥቅል እጅግ በጣም የሚስማማ እና ጠቃሚ ነው፣ እንደ የሸማቾች ባህሪ ትንበያ፣ የነርቭ ምስል እድገት እና የመሳሰሉትን የመሳሰሉ የገሃዱ አለም ግቦችን ያገለግላል።
- አልጎሪዝምን ከመድረኮቻቸው ጋር ማገናኘት የሚፈልጉ ተጠቃሚዎች በScikit-learn ድህረ ገጽ ላይ ዝርዝር የኤፒአይ ሰነድ ያገኛሉ።
- በርካታ ደራሲዎች፣ ተባባሪዎች እና አንድ ትልቅ አለምአቀፍ የመስመር ላይ ማህበረሰብ ድጋፍ እና Scikit-ተማርን ያቆዩት።
ጉዳቱን
- ለጥልቅ ጥናት ተስማሚ አማራጭ አይደለም.
መደምደሚያ
Scikit-Learn ለእያንዳንዱ የውሂብ ሳይንቲስት ጠንካራ ግንዛቤ እና የተወሰነ ልምድ እንዲኖረው ወሳኝ ጥቅል ነው። ይህ መመሪያ sklearnን በመጠቀም በመረጃ አያያዝ ላይ ሊረዳዎት ይገባል ። በመረጃ ሳይንስ ጀብዱ ውስጥ እየገፉ ሲሄዱ የሚያገኟቸውን የScikit-ተማር ብዙ ተጨማሪ ችሎታዎች አሉ። አስተያየትዎን በአስተያየቶቹ ውስጥ ያካፍሉ.
መልስ ይስጡ