பைத்தானில் உங்கள் முதல் இயந்திர கற்றல் வகைப்படுத்தியை உருவாக்குதல்

கீறலில் இருந்து பைத்தானில் இயந்திர கற்றல் வகைப்படுத்தியை உருவாக்க இந்த கட்டுரை உங்களுக்கு உதவும். இது வகைப்பாடு பற்றிய விரிவான அறிவையும் உங்களுக்கு வழங்கும்.

இப்போது கடவுச்சொல். இயந்திர கற்றல் உதவியுடன் சில நம்பமுடியாத விஷயங்கள் செய்யப்படுகின்றன. நம்முடையவராக இருந்து தனி உதவியாளர் , எங்கள் முடிவு பயண வழிகள் , ஷாப்பிங் செய்ய எங்களுக்கு உதவுதல், எங்கள் வணிகங்களை நடத்துவதில் எங்களுக்கு உதவுதல், எங்கள் கவனிப்பு உடல்நலம் மற்றும் ஆரோக்கியம், இயந்திர கற்றல் என்பது நமது அன்றாட இருப்புடன் இதுபோன்ற அடிப்படை மட்டங்களில் ஒருங்கிணைக்கப்பட்டுள்ளது, பெரும்பாலான நேரங்களில் நாம் அதை நம்பியிருக்கிறோம் என்பதை கூட உணரவில்லை. இந்த கட்டுரையில், பைத்தானில் நிலையான இயந்திர கற்றல் வகைப்படுத்தியை செயல்படுத்த ஒரு தொடக்க அணுகுமுறையைப் பின்பற்றுவோம்.

இயந்திர கற்றல் பற்றிய கண்ணோட்டம்

இயந்திர கற்றல் என்பது ஒரு கருத்தாகும், இது இயந்திரத்தை எடுத்துக்காட்டுகள் மற்றும் அனுபவங்களிலிருந்து கற்றுக்கொள்ள அனுமதிக்கிறது, அதுவும் வெளிப்படையாக திட்டமிடப்படாமல். எனவே நீங்கள் குறியீட்டை எழுதுவதற்கு பதிலாக, நீங்கள் என்ன செய்கிறீர்கள் என்பது பொதுவான வழிமுறைக்கு தரவை ஊட்டுகிறது, மேலும் அல்காரிதம் / இயந்திரம் கொடுக்கப்பட்ட தரவின் அடிப்படையில் தர்க்கத்தை உருவாக்குகிறது.



இயந்திர கற்றல் வகைப்படுத்தி

இயந்திர கற்றல் என்பது முடிவுகளை எடுக்கும் இயந்திரங்களின் திறனை உள்ளடக்கியது, அவற்றின் செயல்களின் முடிவுகளை மதிப்பிடுவது மற்றும் சிறந்த முடிவுகளை அடுத்தடுத்து பெற அவர்களின் நடத்தையை மேம்படுத்துதல்.

கற்றல் செயல்முறை மூன்று முக்கிய வழிகளில் நடைபெறுகிறது

  • மேற்பார்வை கற்றல்
  • மேற்பார்வை செய்யப்படாத கற்றல்
  • வலுவூட்டல் கற்றல்

இயந்திர கற்றல் வகைப்படுத்திகளுக்கான வார்ப்புரு

இயந்திர கற்றல் கருவிகள் ஸ்கைகிட்-லர்ன் என பெயரிடப்பட்ட பைதான் நூலகத்தில் மிகவும் வசதியாக வழங்கப்படுகின்றன, அவை அணுகவும் விண்ணப்பிக்கவும் மிகவும் எளிமையானவை.

இதைப் பயன்படுத்தி கட்டளை வரியில் ஸ்கிக்கிட்-கற்றலை நிறுவவும்:

pip install -U scikit-learn

நீங்கள் அனகோண்டா பயனராக இருந்தால், அனகோண்டா வரியில் நீங்கள் பயன்படுத்தலாம்:

conda install scikit-learn

நிறுவலுக்கு உங்கள் கணினியில் NumPy மற்றும் SciPy தொகுப்புகளை முன் நிறுவ வேண்டும்.

முன் செயலாக்கம்: எந்திர கற்றல் அடிப்படையிலான தரவு பகுப்பாய்விலும் முதல் மற்றும் மிக அவசியமான படி முன் செயலாக்க பகுதியாகும். எம்.எல் மாடல் நன்கு பயிற்சியளிப்பதற்கும் அதன் திறனைச் செய்வதற்கும் சரியான பிரதிநிதித்துவம் மற்றும் தரவை சுத்தம் செய்வது முற்றிலும் அவசியம்.

படி 1 - தேவையான நூலகங்களை இறக்குமதி செய்யுங்கள்

எண் எண்ணை np இறக்குமதி பாண்டாக்களாக pd இறக்குமதி matplotlib.pyplot என plt ஆக இறக்குமதி செய்க

படி 2 - தரவுத்தொகுப்பை இறக்குமதி செய்க

தரவுத்தொகுப்பு = pd.read_csv ()

தரவுத்தொகுப்பை சுயாதீனமான மற்றும் சார்பு மாறிகளாகப் பிரிக்கிறோம். சுயாதீன மாறிகள் உள்ளீட்டுத் தரவாக இருக்கும், மற்றும் சார்பு மாறி வெளியீட்டு தரவு.

X = dataset.iloc []. மதிப்புகள் y = dataset.iloc []. மதிப்புகள்

படி 3 - காணாமல் போன தரவைக் கையாளவும்

தரவுத்தொகுப்பில் வெற்று அல்லது பூஜ்ய மதிப்புகள் இருக்கலாம், இது எங்கள் முடிவுகளில் பிழைகளை ஏற்படுத்தக்கூடும். எனவே இதுபோன்ற உள்ளீடுகளை நாம் கையாள வேண்டும். ஒரு பொதுவான நடைமுறை என்னவென்றால், பூஜ்ய மதிப்புகளை அந்த நெடுவரிசையில் சராசரி அல்லது அடிக்கடி நிகழும் மதிப்பு போன்ற பொதுவான மதிப்புடன் மாற்றுவது.

from sklearn.preprocessing import Imputer imputer = Imputer (missing_values ​​= 'NaN', மூலோபாயம் = 'சராசரி', அச்சு = 0) imputer = imputer.fit (X []) X [] = imputer.transform (X [])

படி 4 - வகை மாறிகளை எண் மாறிகள் என மாற்றவும்

sklearn.preprocessing இறக்குமதியிலிருந்து லேபிள்என்கோடர் le_X = லேபிள்என்கோடர் () எக்ஸ் [] = le_X.fit_transform (X []) labelencoder_y = LabelEncoder () y = labelencoder_y.fit_transform (y)

இப்போது, ​​குறியாக்கத்திற்குப் பிறகு, குறியீட்டு நெடுவரிசைகளுக்கான தரவரிசையாக எண் தரவை இயந்திரம் கருதுகிறது. எனவே, சமமான எடையை வழங்க, நாம் OneHotEncoder வகுப்பைப் பயன்படுத்தி எண்களை ஒரு சூடான திசையன்களாக மாற்ற வேண்டும்.

sklearn.preprocessing import இலிருந்து OneHotEncoder oneHE = OneHotEncoder (வகைப்படுத்தப்பட்ட_ அம்சங்கள் = []) X = oneHE.fit_transform (X) .toarray ()

படி 5 - அளவிடுதல் செய்யவும்

இந்த படி மாறிகளின் பொருந்தாத அளவீடுகளிலிருந்து எழும் முரண்பாடுகளைச் சமாளிப்பதாகும். எனவே, நாங்கள் அனைவரையும் ஒரே வரம்பிற்கு அளவிடுகிறோம், இதனால் அவை மாதிரியில் உள்ளீடாக இருக்கும்போது சமமான எடையைப் பெறுகின்றன. இந்த நோக்கத்திற்காக ஸ்டாண்டர்ட்ஸ்கேலர் வகுப்பின் ஒரு பொருளைப் பயன்படுத்துகிறோம்.

sklearn.preprocessing import இலிருந்து StandardScaler sc_X = StandardScaler () X = sc_X.fit_transform (X)

படி 6 - தரவுத்தொகுப்பை பயிற்சி மற்றும் சோதனை தரவுகளாகப் பிரிக்கவும்

முன் செயலாக்கத்தின் கடைசி கட்டமாக, தரவுத்தொகுப்பை ஒரு பயிற்சி தொகுப்பு மற்றும் சோதனை தொகுப்பாக பிரிக்க வேண்டும். ரயில்-சோதனை பிரிவின் நிலையான விகிதம் 75% -25% ஆகும். தேவைகளுக்கு ஏற்ப நாம் மாற்றலாம். ரயில்_டெஸ்ட்_ஸ்பிளிட் () செயல்பாடு இதை நமக்கு செய்ய முடியும்.

sklearn.model_selection இறக்குமதி ரயில்_டெஸ்ட்_ஸ்பிளிட் எக்ஸ்_டிரெய்ன், எக்ஸ்_டெஸ்ட், ஒய்_ட்ரெய்ன், y_test = ரயில்_டெஸ்ட்_ஸ்பிளிட் (எக்ஸ், ஒய், டெஸ்ட்_சைஸ் = 0.25)

மாதிரி கட்டிடம்: இந்த படி உண்மையில் மிகவும் எளிது. தரவில் எந்த மாதிரியைப் பயன்படுத்த வேண்டும் என்பதை நாங்கள் தீர்மானித்தவுடன், அதனுடன் தொடர்புடைய வகுப்பின் ஒரு பொருளை உருவாக்கலாம், மேலும் எங்களது பயிற்சி தொகுப்பில் பொருளை பொருத்தலாம், எக்ஸ்_டிரைனை உள்ளீடாகவும், y_train ஐ வெளியீடாகவும் கருதுகிறோம்.

sklearn இலிருந்து. இறக்குமதி வகைப்படுத்தி = () classifier.fit (X_train, y_train)

மாடல் இப்போது பயிற்சி மற்றும் தயாராக உள்ளது. சோதனை தொகுப்பில் இப்போது எங்கள் மாதிரியைப் பயன்படுத்தலாம், மேலும் கணிக்கப்பட்ட வெளியீட்டைக் காணலாம்.

y_pred = classifier.predict (X_test)

முடிவுகளைப் பார்க்கிறது: ஒரு வகைப்படுத்தியின் செயல்திறனை துல்லியம், துல்லியம், நினைவுகூருதல் மற்றும் எஃப் 1 மதிப்பெண் ஆகியவற்றின் அளவுருக்கள் மூலம் மதிப்பிட முடியும். இந்த மதிப்புகளை classification_report () எனப்படும் முறையைப் பயன்படுத்தி காணலாம். எந்த வகை தரவு சரியாக வகைப்படுத்தப்பட்டுள்ளது என்பதை அறிய உதவும் ஒரு குழப்ப மேட்ரிக்ஸாகவும் பார்க்க முடியும்.

sklearn.metrics இறக்குமதி குழப்பம்_மாட்ரிக்ஸ் செ.மீ = குழப்பம்_மாட்ரிக்ஸ் (y_test, y_pred) அச்சு (செ.மீ)

இயந்திர கற்றல் வகைப்படுத்தி சிக்கல்

ஐரிஸ்-செடோசா, ஐரிஸ்-வெர்சிகலர் மற்றும் ஐரிஸ்-வர்ஜினிகா ஆகிய 3 வகைகளில் பூக்களின் பரிமாணங்களைக் கொண்ட மிகவும் பிரபலமான மற்றும் எளிய ஐரிஸ் தரவுத்தொகுப்பைப் பயன்படுத்துவோம். தரவுத்தொகுப்பில் 150 உள்ளீடுகள் உள்ளன.

# நூலகங்களை இறக்குமதி செய்வது எண்ணற்ற எண்ணை np இறக்குமதி matplotlib.pyplot என plt இறக்குமதி பாண்டாக்களை pd ஆக இறக்குமதி செய்கிறது # தரவுத்தொகுப்பை இறக்குமதி செய்கிறது தரவுத்தொகுப்பு = pd.read_csv ('iris.csv')

தரவுத்தொகுப்பை இப்போது பார்ப்போம்.

dataset.head ()

எங்களிடம் 4 சுயாதீன மாறிகள் உள்ளன (ஐடியைத் தவிர), அதாவது நெடுவரிசை எண்கள் 1-4, மற்றும் நெடுவரிசை 5 என்பது சார்பு மாறி. எனவே நாம் அவற்றை பிரிக்கலாம்.

X = dataset.iloc [:, 1: 5] .மதிப்பீடுகள் y = dataset.iloc [:, 5] .மதிப்பீடுகள்

இப்போது நாம் தரவுத்தொகுப்பை பயிற்சி மற்றும் சோதனைக்குள் பிரிக்கலாம்.

# தரவுத்தொகுப்பை பயிற்சித் தொகுப்பாகப் பிரித்தல் மற்றும் sklearn.model_selection இறக்குமதி ரயில்_டெஸ்ட்_ஸ்பிளிட் X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.25)

இப்போது தரவுத்தொகுப்பில் ஒரு லாஜிஸ்டிக் பின்னடைவு வகைப்படுத்தியைப் பயன்படுத்துவோம்.

# Sklearn.linear_model இறக்குமதியிலிருந்து மாதிரியை உருவாக்குதல் மற்றும் பயிற்றுவித்தல் LogisticRegress classifier = LogisticRegress () classifier.fit (X_train, y_train) # சோதனை தொகுப்பு முடிவுகளை முன்னறிவித்தல் y_pred = classifier.predict (X_test)

பயிற்சி பெற்ற மாதிரியின் செயல்திறனை பகுப்பாய்வு செய்வதே கடைசி கட்டமாக இருக்கும்.

ஜாவா எடுத்துக்காட்டில் உதாரணமாக மாறி
# Sklearn.metrics இலிருந்து குழப்ப மேட்ரிக்ஸை உருவாக்குதல் குழப்பம்_மாட்ரிக்ஸ் செ.மீ = குழப்பம்_மாட்ரிக்ஸ் (y_test, y_pred) அச்சு (செ.மீ)

முதல் வகையின் 13 உள்ளீடுகள், இரண்டாவது 11 மற்றும் மூன்றாம் வகையின் 9 உள்ளீடுகள் மாதிரியால் சரியாக கணிக்கப்பட்டுள்ளன என்பதை இது காட்டுகிறது.

# Sklearn.metrics இறக்குமதி வகைப்படுத்தல்_ அறிக்கை இலக்கு_பெயர்கள் = ['ஐரிஸ்-செடோசா', 'ஐரிஸ்-வெர்சிகலர்', 'ஐரிஸ்-வர்ஜினிகா'] அச்சு (வகைப்படுத்தல்_ அறிக்கை (y_test, y_pred, target_names = target_names) )

எங்கள் சோதனை தொகுப்பில் மாதிரியின் துல்லியம், நினைவுகூருதல், எஃப் 1-மதிப்பெண் மற்றும் துல்லியம் மதிப்புகளை அறிக்கை காட்டுகிறது, இதில் 38 உள்ளீடுகள் (தரவுத்தொகுப்பில் 25%) உள்ளன.

வாழ்த்துக்கள், பைத்தானில் உங்கள் முதல் இயந்திர கற்றல் வகைப்படுத்தியை வெற்றிகரமாக உருவாக்கி செயல்படுத்தியுள்ளீர்கள்! ஆழமான அறிவைப் பெற அதன் பல்வேறு பயன்பாடுகளுடன், 24/7 ஆதரவு மற்றும் வாழ்நாள் அணுகலுடன் நேரடி பைதான் ஆன்லைன் பயிற்சிக்கு நீங்கள் சேரலாம்.