ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਵਿੱਚ ਆਪਣੇ K ਨਜ਼ਦੀਕੀ ਗੁਆਂਢੀ (KNN) ਐਲਗੋਰਿਦਮ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੇ ਸੰਦਰਭ ਵਿੱਚ ਟ੍ਰੇਨ ਅਤੇ ਟੈਸਟ ਸੈੱਟਾਂ ਲਈ ਸ਼ਬਦਕੋਸ਼ ਤਿਆਰ ਕਰਨ ਲਈ, ਸਾਨੂੰ ਇੱਕ ਯੋਜਨਾਬੱਧ ਪਹੁੰਚ ਦੀ ਪਾਲਣਾ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇਸ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਸਾਡੇ ਡੇਟਾ ਨੂੰ ਇੱਕ ਢੁਕਵੇਂ ਫਾਰਮੈਟ ਵਿੱਚ ਬਦਲਣਾ ਸ਼ਾਮਲ ਹੈ ਜਿਸਦੀ ਵਰਤੋਂ KNN ਐਲਗੋਰਿਦਮ ਦੁਆਰਾ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
ਪਹਿਲਾਂ, ਆਓ ਪਾਈਥਨ ਵਿੱਚ ਡਿਕਸ਼ਨਰੀ ਦੀ ਮੂਲ ਧਾਰਨਾ ਨੂੰ ਸਮਝੀਏ। ਇੱਕ ਸ਼ਬਦਕੋਸ਼ ਕੁੰਜੀ-ਮੁੱਲ ਜੋੜਿਆਂ ਦਾ ਇੱਕ ਕ੍ਰਮਬੱਧ ਸੰਗ੍ਰਹਿ ਹੁੰਦਾ ਹੈ, ਜਿੱਥੇ ਹਰੇਕ ਕੁੰਜੀ ਵਿਲੱਖਣ ਹੁੰਦੀ ਹੈ। ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਦੇ ਸੰਦਰਭ ਵਿੱਚ, ਸ਼ਬਦਕੋਸ਼ਾਂ ਦੀ ਵਰਤੋਂ ਆਮ ਤੌਰ 'ਤੇ ਡੇਟਾਸੇਟਾਂ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਿੱਥੇ ਕੁੰਜੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਜਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਹਨ, ਅਤੇ ਮੁੱਲ ਸੰਬੰਧਿਤ ਡੇਟਾ ਬਿੰਦੂਆਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।
ਟ੍ਰੇਨ ਅਤੇ ਟੈਸਟ ਸੈੱਟਾਂ ਲਈ ਸ਼ਬਦਕੋਸ਼ ਤਿਆਰ ਕਰਨ ਲਈ, ਸਾਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਕਦਮਾਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:
1. ਡਾਟਾ ਤਿਆਰ ਕਰਨਾ: ਸਾਡੇ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਕਾਰਜ ਲਈ ਡਾਟਾ ਇਕੱਠਾ ਕਰਨ ਅਤੇ ਤਿਆਰ ਕਰਨ ਦੁਆਰਾ ਸ਼ੁਰੂ ਕਰੋ। ਇਸ ਵਿੱਚ ਆਮ ਤੌਰ 'ਤੇ ਡੇਟਾ ਨੂੰ ਸਾਫ਼ ਕਰਨਾ, ਗੁੰਮ ਹੋਏ ਮੁੱਲਾਂ ਨੂੰ ਸੰਭਾਲਣਾ, ਅਤੇ ਡੇਟਾ ਨੂੰ ਇੱਕ ਢੁਕਵੇਂ ਫਾਰਮੈਟ ਵਿੱਚ ਬਦਲਣਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਡੇਟਾ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਲੇਬਲ ਜਾਂ ਸ਼੍ਰੇਣੀਬੱਧ ਕੀਤਾ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਨਿਰੀਖਣ ਕੀਤੇ ਸਿਖਲਾਈ ਕਾਰਜਾਂ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
2. ਡੇਟਾਸੈਟ ਨੂੰ ਵੰਡਣਾ: ਅੱਗੇ, ਸਾਨੂੰ ਆਪਣੇ ਡੇਟਾਸੈਟ ਨੂੰ ਦੋ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡਣ ਦੀ ਲੋੜ ਹੈ: ਟ੍ਰੇਨ ਸੈੱਟ ਅਤੇ ਟੈਸਟ ਸੈੱਟ। ਟ੍ਰੇਨ ਸੈੱਟ ਦੀ ਵਰਤੋਂ ਸਾਡੇ KNN ਐਲਗੋਰਿਦਮ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣ ਲਈ ਕੀਤੀ ਜਾਵੇਗੀ, ਜਦੋਂ ਕਿ ਟੈਸਟ ਸੈੱਟ ਦੀ ਵਰਤੋਂ ਇਸਦੇ ਪ੍ਰਦਰਸ਼ਨ ਦਾ ਮੁਲਾਂਕਣ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਵੇਗੀ। ਇਹ ਵੰਡ ਸਾਨੂੰ ਇਹ ਮੁਲਾਂਕਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ ਕਿ ਸਾਡਾ ਐਲਗੋਰਿਦਮ ਅਣਦੇਖੇ ਡੇਟਾ ਨੂੰ ਕਿੰਨੀ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸਧਾਰਣ ਕਰਦਾ ਹੈ।
3. ਵਿਸ਼ੇਸ਼ਤਾ ਐਕਸਟਰੈਕਸ਼ਨ: ਇੱਕ ਵਾਰ ਡੇਟਾਸੈਟ ਵੰਡਣ ਤੋਂ ਬਾਅਦ, ਸਾਨੂੰ ਡੇਟਾ ਤੋਂ ਸੰਬੰਧਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸਾਡੇ ਸ਼ਬਦਕੋਸ਼ਾਂ ਵਿੱਚ ਕੁੰਜੀਆਂ ਵਜੋਂ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਸਾਡੇ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਤੀ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸੰਖਿਆਤਮਕ ਜਾਂ ਸ਼੍ਰੇਣੀਬੱਧ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਅਸੀਂ ਚਿੱਤਰਾਂ ਦੇ ਡੇਟਾਸੈੱਟ ਨਾਲ ਕੰਮ ਕਰ ਰਹੇ ਹਾਂ, ਤਾਂ ਅਸੀਂ ਰੰਗ ਹਿਸਟੋਗ੍ਰਾਮ ਜਾਂ ਟੈਕਸਟ ਡਿਸਕ੍ਰਿਪਟਰਾਂ ਵਰਗੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰ ਸਕਦੇ ਹਾਂ।
4. ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨਾ: ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਸਾਨੂੰ ਸਾਡੇ ਸ਼ਬਦਕੋਸ਼ਾਂ ਵਿੱਚ ਹਰੇਕ ਕੁੰਜੀ ਲਈ ਅਨੁਸਾਰੀ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਮੁੱਲ ਸਾਡੇ ਡੇਟਾਸੈਟ ਵਿੱਚ ਅਸਲ ਡੇਟਾ ਪੁਆਇੰਟ ਜਾਂ ਉਦਾਹਰਣਾਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ। ਹਰੇਕ ਉਦਾਹਰਨ ਨੂੰ ਇਸਦੇ ਅਨੁਸਾਰੀ ਵਿਸ਼ੇਸ਼ਤਾ ਮੁੱਲਾਂ ਨਾਲ ਜੋੜਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
5. ਟ੍ਰੇਨ ਸੈੱਟ ਡਿਕਸ਼ਨਰੀ: ਟ੍ਰੇਨ ਸੈੱਟ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਇੱਕ ਡਿਕਸ਼ਨਰੀ ਬਣਾਓ। ਇਸ ਡਿਕਸ਼ਨਰੀ ਦੀਆਂ ਕੁੰਜੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹੋਣਗੀਆਂ, ਅਤੇ ਮੁੱਲ ਸੂਚੀਆਂ ਜਾਂ ਐਰੇ ਹੋਣਗੇ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਰੇਲ ਸੈੱਟ ਵਿੱਚ ਹਰੇਕ ਉਦਾਹਰਨ ਲਈ ਸੰਬੰਧਿਤ ਵਿਸ਼ੇਸ਼ਤਾ ਮੁੱਲ ਸ਼ਾਮਲ ਹੋਣਗੇ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਸਾਡੇ ਕੋਲ ਦੋ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ (ਉਮਰ ਅਤੇ ਆਮਦਨ) ਅਤੇ ਤਿੰਨ ਉਦਾਹਰਣਾਂ ਵਾਲਾ ਇੱਕ ਡੇਟਾਸੈਟ ਹੈ, ਤਾਂ ਟ੍ਰੇਨ ਸੈੱਟ ਸ਼ਬਦਕੋਸ਼ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦੇ ਸਕਦਾ ਹੈ:
train_set = {'ਉਮਰ': [25, 30, 35], 'ਆਮਦਨ': [50000, 60000, 70000]}
6. ਟੈਸਟ ਸੈੱਟ ਡਿਕਸ਼ਨਰੀ: ਇਸੇ ਤਰ੍ਹਾਂ, ਟੈਸਟ ਸੈੱਟ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਇੱਕ ਡਿਕਸ਼ਨਰੀ ਬਣਾਓ। ਇਸ ਡਿਕਸ਼ਨਰੀ ਦੀਆਂ ਕੁੰਜੀਆਂ ਉਹੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹੋਣਗੀਆਂ ਜੋ ਟ੍ਰੇਨ ਸੈੱਟ ਵਿੱਚ ਹੁੰਦੀਆਂ ਹਨ, ਅਤੇ ਮੁੱਲ ਸੂਚੀਆਂ ਜਾਂ ਐਰੇ ਹੋਣਗੇ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਟੈਸਟ ਸੈੱਟ ਵਿੱਚ ਹਰੇਕ ਉਦਾਹਰਨ ਲਈ ਸੰਬੰਧਿਤ ਵਿਸ਼ੇਸ਼ਤਾ ਮੁੱਲ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਸਾਡੇ ਕੋਲ ਦੋ ਉਦਾਹਰਣਾਂ ਵਾਲਾ ਇੱਕ ਟੈਸਟ ਸੈੱਟ ਹੈ, ਤਾਂ ਟੈਸਟ ਸੈੱਟ ਡਿਕਸ਼ਨਰੀ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦੇ ਸਕਦੀ ਹੈ:
test_set = {'ਉਮਰ': [40, 45], 'ਆਮਦਨ': [80000, 90000]}
7. ਸ਼ਬਦਕੋਸ਼ਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ: ਇੱਕ ਵਾਰ ਜਦੋਂ ਰੇਲਗੱਡੀ ਅਤੇ ਟੈਸਟ ਸੈੱਟਾਂ ਲਈ ਸ਼ਬਦਕੋਸ਼ ਤਿਆਰ ਹੋ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਅਸੀਂ ਉਹਨਾਂ ਨੂੰ ਆਪਣੇ ਖੁਦ ਦੇ KNN ਐਲਗੋਰਿਦਮ ਲਈ ਇਨਪੁਟ ਵਜੋਂ ਵਰਤ ਸਕਦੇ ਹਾਂ। ਐਲਗੋਰਿਦਮ ਟੈਸਟ ਸੈੱਟ ਵਿੱਚ ਉਦਾਹਰਨਾਂ ਲਈ ਪੂਰਵ-ਅਨੁਮਾਨ ਜਾਂ ਵਰਗੀਕਰਨ ਕਰਨ ਲਈ ਟ੍ਰੇਨ ਸੈੱਟ ਤੋਂ ਵਿਸ਼ੇਸ਼ਤਾ ਮੁੱਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰੇਗਾ।
ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਕੇ, ਅਸੀਂ ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਵਿੱਚ ਸਾਡੇ ਆਪਣੇ KNN ਐਲਗੋਰਿਦਮ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੇ ਸੰਦਰਭ ਵਿੱਚ ਟ੍ਰੇਨ ਅਤੇ ਟੈਸਟ ਸੈੱਟਾਂ ਲਈ ਸ਼ਬਦਕੋਸ਼ਾਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਤਿਆਰ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਹ ਸ਼ਬਦਕੋਸ਼ ਸਿਖਲਾਈ ਅਤੇ ਸਾਡੇ ਐਲਗੋਰਿਦਮ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਦਾ ਮੁਲਾਂਕਣ ਕਰਨ ਲਈ ਬੁਨਿਆਦ ਵਜੋਂ ਕੰਮ ਕਰਦੇ ਹਨ।
ਰੇਲਗੱਡੀ ਅਤੇ ਟੈਸਟ ਸੈੱਟਾਂ ਲਈ ਸ਼ਬਦਕੋਸ਼ ਤਿਆਰ ਕਰਨ ਲਈ, ਸਾਨੂੰ ਡੇਟਾਸੈਟ ਨੂੰ ਤਿਆਰ ਕਰਨ ਅਤੇ ਵੰਡਣ, ਸੰਬੰਧਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ, ਸ਼ਬਦਕੋਸ਼ਾਂ ਵਿੱਚ ਸੰਬੰਧਿਤ ਕੁੰਜੀਆਂ ਨੂੰ ਵਿਸ਼ੇਸ਼ਤਾ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨ, ਅਤੇ ਸਾਡੇ ਆਪਣੇ KNN ਐਲਗੋਰਿਦਮ ਵਿੱਚ ਇਹਨਾਂ ਸ਼ਬਦਕੋਸ਼ਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ਬਾਰੇ ਹੋਰ ਹਾਲੀਆ ਸਵਾਲ ਅਤੇ ਜਵਾਬ ਆਪਣੇ ਕੇ ਨੇੜੇ ਦੇ ਗੁਆਂ neighborsੀ ਐਲਗੋਰਿਦਮ ਨੂੰ ਲਾਗੂ ਕਰਨਾ:
- ਅਸੀਂ ਆਪਣੇ K ਨਜ਼ਦੀਕੀ ਗੁਆਂਢੀ ਐਲਗੋਰਿਦਮ ਦੀ ਸ਼ੁੱਧਤਾ ਦੀ ਗਣਨਾ ਕਿਵੇਂ ਕਰਦੇ ਹਾਂ?
- ਰੇਲਗੱਡੀ ਅਤੇ ਟੈਸਟ ਸੈੱਟਾਂ ਵਿੱਚ ਕਲਾਸ ਨੂੰ ਦਰਸਾਉਣ ਵਾਲੀ ਹਰੇਕ ਸੂਚੀ ਵਿੱਚ ਆਖਰੀ ਤੱਤ ਦਾ ਕੀ ਮਹੱਤਵ ਹੈ?
- ਸਿਖਲਾਈ ਅਤੇ ਟੈਸਟ ਸੈੱਟਾਂ ਵਿੱਚ ਵੰਡਣ ਤੋਂ ਪਹਿਲਾਂ ਡੇਟਾਸੈਟ ਨੂੰ ਸ਼ਫਲ ਕਰਨ ਦਾ ਕੀ ਮਕਸਦ ਹੈ?
- K ਨਜ਼ਦੀਕੀ ਗੁਆਂਢੀ ਐਲਗੋਰਿਦਮ ਨੂੰ ਲਾਗੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਡੇਟਾਸੈਟ ਨੂੰ ਸਾਫ਼ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਕਿਉਂ ਹੈ?