sklearn (sk for scikit) என்பது python-ல் உள்ள இயந்திரவழிக் கற்றலுக்கான ஒரு library ஆகும். இதில் classification, regression ஆகிய வகைகளின் கீழ் அமையும் linear, ensemble, neural networks போன்ற அனைத்து விதமான model-க்கும் algorithms காணப்படும். இதிலிருந்து LinearRegression எனும் algorithm-ஐ எடுத்து அதற்கு நம்முடைய data-வைப் பற்றி நாம் கற்றுத் தருகிறோம். இதற்கான நிரல் பின்வருமாறு.
நிரலுக்கான வெளியீடு:
[code language=”bash”]
Index([‘OverallQual’, ‘TotalBsmtSF’, ‘1stFlrSF’, ‘GrLivArea’, ‘FullBath’,
‘TotRmsAbvGrd’, ‘Fireplaces’, ‘GarageCars’, ‘GarageArea’,
‘Years Before Sale’, ‘Years Since Remod’, ‘SalePrice’],
dtype=’object’)
Number of predictions: 365
Mean Squared Error: 981297922.7884247
Root Mean Squared Error: 31325.675136993053
Scoring: 0.818899237738355
[/code]
நிரலுக்கான விளக்கம்:
- training_data எனும் கோப்பிற்குள் உள்ள அனைத்துத் தரவுகளும் df-க்குள் செலுத்தப்பட்டுவிட்டன.
- கணிப்பதற்கு உதவும் அனைத்தும் X-லும், கணிக்கப்பட வேண்டிய ‘SalePrice’ என்பது y-லும் சேமிக்கப்பட்டுள்ளது. இதற்கு முன்னர் pop() என்பது கணிக்கப்பட வேண்டிய column-ஐ df-லிருந்து நீக்கி பின்னர் மீண்டும் கடைசி column-ஆக இணைக்கிறது. இதன் மூலம் [ :-1] எனக் கொடுத்து கடைசிக்கு முன்னால் உள்ள அனைத்தும் X-லும் கடைசி column-ஆன ‘SalePrice’-ஐ y-லும் சேமித்துக் கொள்ளலாம்.
- fit() என்பது கற்றுக் கொடுப்பதற்கும், predict() என்பது கணிப்பதற்கும் பயன்படுகிறது.
- score() என்பது நமது algorithm எவ்வளவு தூரம் சரியாகக் கற்றுக்கொண்டுள்ளது என்பதை மதிப்பிடப் பயன்படுகிறது.
- train_test_split() என்பது நம்முடைய மொத்தத் தரவுகளை 75% – 25% எனும் விகிதத்தில் பிரிக்கிறது. அதாவது 75% தரவுகள் கற்றுக் கொடுப்பதற்கும், 25% தரவுகள் சோதனை செய்து மதிப்பிடுவதற்கும் பயன்படும்.
- mean_squared_error, sqrt ஆகிய functions, நமது algorithm-ஆல் கணிக்கப்படும் மதிப்புகளுக்கும் உண்மையான மதிப்புகளுக்கும் உள்ள இழப்பின் சராசரியைக் கண்டறிந்து கூறும். இந்த இழப்பு தான் ‘Residual Error’ ஆகும். இது ஒரு வரைபடமாக வரைந்து காட்டப்பட்டுள்ளது.
- joblib என்பது நமது model-ஐ .pkl கோப்பாக சேமிக்கும். இதுவே pickle file ஆகும். இது serialization மற்றும் de-serialization-க்கு உதவுகின்ற ஒரு binary கோப்பு வகை ஆகும். இதை வைத்து எவ்வாறு புதிய தரவுகளை கணிப்பது என அடுத்த பகுதியில் காணலாம்.