ਲਾਭ:
- ਗੁੰਮ ਹੋਏ ਮੁੱਲਾਂ (ਬੇਤਰਤੀਬ, ਯੋਜਨਾਬੱਧ, ਅਰਥਪੂਰਨ) ਦੇ ਕਾਰਨ ਨੂੰ ਵੱਖ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਅਤੇ ਢੁਕਵੀਂ ਰਣਨੀਤੀ ਚੁਣੋ ਅਤੇ ਇਕੱਲੇ ਸਿਖਲਾਈ ਤੋਂ ਭਰਨ ਦੇ ਮੁੱਲ ਦੀ ਗਣਨਾ ਕਰੋ
- ਉਹਨਾਂ ਨੂੰ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਬਾਹਰਲੇ ਵਿਅਕਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਅਤੇ ਇੱਕ ਡੇਟਾ ਗਲਤੀ ਅਤੇ ਇੱਕ ਸੱਚੀ ਦੁਰਲੱਭ ਘਟਨਾ ਵਿੱਚ ਫਰਕ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
- ਸਟੈਂਡਰਡ ਵਿੱਚ ਕਿਸਮ ਅਤੇ ਫਾਰਮੈਟ ਅਸੰਗਤਤਾਵਾਂ ਨੂੰ ਲਿਆਉਂਦੇ ਹੋਏ ਲਾਈਨਾਂ/ਬਲੈਂਕਸ ਦੀ ਗਿਣਤੀ 'ਤੇ ਹਰੇਕ ਕਦਮ ਦੇ ਪ੍ਰਭਾਵ ਦੀ ਨਿਗਰਾਨੀ ਕਰਕੇ ਚੁੱਪ ਦੇ ਨੁਕਸਾਨ ਨੂੰ ਰੋਕਣ ਦੀ ਸਮਰੱਥਾ
ਇੱਕ ਡੇਟਾ ਵਿਗਿਆਨੀ ਦਾ ਲਗਭਗ 60-80 ਪ੍ਰਤੀਸ਼ਤ ਸਮਾਂ ਸਫਾਈ ਵਿੱਚ ਜਾਂਦਾ ਹੈ; ਉਦਯੋਗ ਵਿੱਚ, ਇਸਨੂੰ ਅੱਧ-ਮਜ਼ਾਕ ਵਿੱਚ "ਡੇਟਾ ਰੈਂਗਲਿੰਗ" (ਡੇਟਾ ਰੈਂਗਲਿੰਗ ਜਾਂ ਡੇਟਾ ਕਲੀਨਿੰਗ) ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਕਿਉਂਕਿ ਅਸਲ-ਸੰਸਾਰ ਡੇਟਾ ਲਗਭਗ ਕਦੇ ਵੀ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਤਿਆਰ ਨਹੀਂ ਹੁੰਦਾ: ਮਿਤੀਆਂ ਮਿਸ਼ਰਤ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਹੁੰਦੀਆਂ ਹਨ, ਸੰਖਿਆਵਾਂ ਨੂੰ ਟੈਕਸਟ ਦੇ ਰੂਪ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਕੁਝ ਸੈੱਲ ਖਾਲੀ ਹੁੰਦੇ ਹਨ, ਇੱਕ ਗਾਹਕ ਦੋ ਵੱਖ-ਵੱਖ ਸਪੈਲਿੰਗਾਂ ਦੇ ਨਾਲ ਇੱਕੋ ਸਾਰਣੀ ਵਿੱਚ ਤਿੰਨ ਵਾਰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਇਸ ਯੂਨਿਟ ਵਿੱਚ ਅਸੀਂ ਸਫਾਈ ਦੇ ਤਿੰਨ ਬੁਨਿਆਦੀ ਪਹਿਲੂਆਂ ਨੂੰ ਕਵਰ ਕਰਾਂਗੇ: ਗੁੰਮਸ਼ੁਦਾ ਮੁੱਲ, ਆਊਟਲੀਅਰ, ਅਤੇ ਕਿਸਮ/ਫਾਰਮੈਟ ਰੂਪਾਂਤਰਣ। ਨਕਲੀ ਬੁੱਧੀ ਇਸ ਕੰਮ ਵਿੱਚ ਇੱਕ ਅਸਧਾਰਨ ਤੌਰ ਤੇ ਤੇਜ਼ ਸਹਾਇਕ ਹੈ; ਪਰ ਇਹ ਤੁਸੀਂ ਹੋ ਜੋ ਇਹ ਫੈਸਲਾ ਕਰਦੇ ਹੋ ਕਿ ਕੀ ਅਤੇ ਕਿਵੇਂ ਸਾਫ਼ ਕਰਨਾ ਹੈ, ਕਿਉਂਕਿ ਹਰੇਕ ਸਫਾਈ ਵਿਕਲਪ ਵਿਸ਼ਲੇਸ਼ਣ ਨੂੰ ਬਦਲਦਾ ਹੈ।
ਸਫਾਈ ਦਾ ਸੁਨਹਿਰੀ ਨਿਯਮ: ਹਰ ਤਬਦੀਲੀ ਇੱਕ ਫੈਸਲਾ ਹੈ
ਇੱਕ ਸੈੱਲ ਨੂੰ ਮਿਟਾਉਣਾ, ਇੱਕ ਗੁੰਮ ਹੋਏ ਮੁੱਲ ਨੂੰ ਮੱਧਮਾਨ ਨਾਲ ਭਰਨਾ, ਇੱਕ ਆਊਟਲੀਅਰ ਨੂੰ ਕੱਟਣਾ - ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ "ਨਿਰਪੱਖ" ਕਾਰਵਾਈਆਂ ਨਹੀਂ ਹਨ। ਹਰੇਕ ਡੇਟਾ ਨੂੰ ਬਦਲਦਾ ਹੈ ਅਤੇ ਨਤੀਜੇ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ ਸਫਾਈ ਦਾ ਸੁਨਹਿਰੀ ਨਿਯਮ: ਕੋਡ ਵਿੱਚ ਹਰ ਤਬਦੀਲੀ ਨੂੰ ਲਿਖੋ, ਤਰਕ ਨੂੰ ਨੋਟ ਕਰੋ, ਮੂਲ ਡੇਟਾ ਨੂੰ ਕਦੇ ਵੀ ਓਵਰਰਾਈਟ ਨਾ ਕਰੋ। AI ਤੁਹਾਨੂੰ ਤੁਰੰਤ ਸਫਾਈ ਕੋਡ ਦਿੰਦਾ ਹੈ, ਪਰ ਇਹ ਸਮਝਣਾ ਤੁਹਾਡੀ ਜ਼ਿੰਮੇਵਾਰੀ ਹੈ ਕਿ ਉਹ ਕੋਡ ਕੀ ਕਰਦਾ ਹੈ; ਜਦੋਂ ਤੁਸੀਂ "ਖਾਲੀ ਲਾਈਨਾਂ ਨੂੰ ਮਿਟਾਓ" ਕਹਿੰਦੇ ਹੋ ਤਾਂ ਕਿੰਨੀਆਂ ਲਾਈਨਾਂ ਖਤਮ ਹੋ ਗਈਆਂ ਹਨ, ਇਹ ਦੇਖੇ ਬਿਨਾਂ ਇਸਨੂੰ ਨਾ ਚਲਾਓ.
ਸਾਵਧਾਨ: ਮੂਲ ਕੱਚੇ ਡੇਟਾ ਨੂੰ ਕਦੇ ਵੀ ਸੋਧੋ ਨਾ। ਸਾਫ਼ ਕੀਤੇ ਸੰਸਕਰਣ ਨੂੰ ਇੱਕ ਵੱਖਰੀ ਫਾਈਲ/ਟੇਬਲ ਵਿੱਚ ਲਿਖੋ। ਇਸ ਤਰ੍ਹਾਂ, ਜੇਕਰ ਤੁਸੀਂ ਕੋਈ ਗਲਤੀ ਲੱਭਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਵਰਗ ਇੱਕ 'ਤੇ ਵਾਪਸ ਜਾ ਸਕਦੇ ਹੋ ਅਤੇ ਪ੍ਰਜਨਨਯੋਗਤਾ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖ ਸਕਦੇ ਹੋ।
ਗੁੰਮ ਮੁੱਲ: ਇਹ ਖਾਲੀ ਕਿਉਂ ਹੈ, ਕੀ ਕਰਨਾ ਹੈ
ਇੱਕ ਗੁੰਮ ਮੁੱਲ (ਆਮ ਤੌਰ 'ਤੇ ਪਾਂਡਾ ਵਿੱਚ NaN - "ਨੰਬਰ ਨਹੀਂ" ਵਜੋਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ) ਉਦੋਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਇੱਕ ਸੈੱਲ ਖਾਲੀ ਹੁੰਦਾ ਹੈ। ਪਰ ਪਾੜੇ ਦਾ ਕਾਰਨ ਹੱਲ ਤੈਅ ਕਰਦਾ ਹੈ। ਇੱਥੇ ਤਿੰਨ ਆਮ ਸਥਿਤੀਆਂ ਹਨ। ਰੈਂਡਮ ਗੁੰਮ: ਸੈਂਸਰ ਨੇ ਇੱਕ ਪਲ ਲਈ ਕੰਮ ਨਹੀਂ ਕੀਤਾ; ਇਸ ਨੂੰ ਭਰਨਾ ਵਾਜਬ ਹੋ ਸਕਦਾ ਹੈ। ਯੋਜਨਾਬੱਧ ਗੁੰਮ: ਇੱਕ ਫਾਰਮ ਖੇਤਰ ਸਿਰਫ ਕੁਝ ਖਾਸ ਗਾਹਕਾਂ ਲਈ ਪੁੱਛਿਆ ਜਾਂਦਾ ਹੈ; ਇੱਥੇ ਅੰਤਰ ਅਸਲ ਵਿੱਚ ਜਾਣਕਾਰੀ ਹੈ. ਮਹੱਤਵਪੂਰਨ ਗੁੰਮ: ਜੇਕਰ "ਵਾਪਸੀ ਦੀ ਮਿਤੀ" ਖਾਲੀ ਹੈ, ਤਾਂ ਗਾਹਕ ਵਾਪਸ ਨਹੀਂ ਆਇਆ; ਇਸ ਸਪੇਸ ਦਾ ਮਤਲਬ ਹੈ 0 ਜਾਂ "ਕੋਈ ਨਹੀਂ", ਇਹ ਭਰਿਆ ਨਹੀਂ ਗਿਆ ਹੈ।
ਮੁੱਖ ਰਣਨੀਤੀਆਂ:
ਰਣਨੀਤੀ
ਇਹ ਕਦੋਂ ਢੁਕਵਾਂ ਹੈ?
ਖਤਰਾ
ਕਤਾਰ ਮਿਟਾਓ
ਗੁੰਮ ਦਰ ਬਹੁਤ ਘੱਟ (<5%) ਅਤੇ ਬੇਤਰਤੀਬ ਹੈ
ਡਾਟਾ ਅਤੇ ਨੁਮਾਇੰਦਗੀ ਦਾ ਨੁਕਸਾਨ
ਇੱਕ ਕਾਲਮ ਮਿਟਾਓ
ਜ਼ਿਆਦਾਤਰ ਕਾਲਮ ਖਾਲੀ ਹੈ (> 60%)
ਜਾਣਕਾਰੀ ਦਾ ਨੁਕਸਾਨ
ਔਸਤ/ਮੱਧ ਭਰਨ
ਸੰਖਿਆਤਮਕ, ਬੇਤਰਤੀਬੇ ਗੁੰਮ ਹੈ
ਇਹ ਵਿਭਿੰਨਤਾ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਵੰਡ ਨੂੰ ਵਿਗਾੜਦਾ ਹੈ
ਸ਼੍ਰੇਣੀ "ਅਣਜਾਣ"
ਸ਼੍ਰੇਣੀਬੱਧ, ਯੋਜਨਾਬੱਧ ਗੁੰਮ ਹੈ
ਵਾਧੂ ਸ਼੍ਰੇਣੀਆਂ ਤਿਆਰ ਕਰਦਾ ਹੈ
ਮਾਡਲ ਦੇ ਨਾਲ ਭਵਿੱਖਬਾਣੀ
ਗੁੰਝਲਦਾਰ, ਕੀਮਤੀ ਕਾਲਮ
ਲੀਕ ਜੋਖਮ, ਗੁੰਝਲਤਾ
ਨਾਜ਼ੁਕ ਬਿੰਦੂ: ਇਮਪਿਊਟੇਸ਼ਨ ਮੁੱਲ ਦੀ ਗਣਨਾ ਸਿਰਫ਼ ਸਿਖਲਾਈ ਡੇਟਾ ਤੋਂ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ ਅਤੇ ਉਹੀ ਮੁੱਲ ਟੈਸਟ ਡੇਟਾ 'ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਟੈਸਟ ਡੇਟਾ ਦੀ ਔਸਤ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਲੀਕੇਜ (ਯੂਨਿਟ 10) ਬਣਾਉਂਦੇ ਹੋ। ਮੱਧਮਾਨ (ਆਰਡੀਨਲ ਡੇਟਾ ਦਾ ਮੱਧ ਮੁੱਲ) ਨੂੰ ਅਕਸਰ ਮੱਧਮਾਨ ਨਾਲੋਂ ਤਰਜੀਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਮੱਧਮਾਨ ਨਾਲੋਂ ਆਊਟਲੀਅਰਾਂ ਲਈ ਵਧੇਰੇ ਮਜ਼ਬੂਤ ਹੁੰਦਾ ਹੈ।
ਆਊਟਲੀਅਰ: ਗਲਤੀ ਜਾਂ ਅਸਲੀ?
ਇੱਕ ਆਊਟਲੀਅਰ ਦੋ ਚੀਜ਼ਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੋ ਸਕਦਾ ਹੈ: ਇੱਕ ਡੇਟਾ ਗਲਤੀ (ਉਮਰ ਕਾਲਮ ਵਿੱਚ 999) ਜਾਂ ਇੱਕ ਅਸਲੀ ਪਰ ਦੁਰਲੱਭ ਘਟਨਾ (ਇੱਕ ਗਾਹਕ ਦਾ $2 ਮਿਲੀਅਨ ਆਰਡਰ)। ਦੋਵਾਂ ਨੂੰ ਉਲਝਾਉਣਾ ਵਿਨਾਸ਼ਕਾਰੀ ਹੈ: ਇੱਕ ਸੱਚਾ ਆਊਟਲਾਇਰ ਮਿਟਾਓ ਅਤੇ ਤੁਸੀਂ ਮਹੱਤਵਪੂਰਣ ਜਾਣਕਾਰੀ ਨੂੰ ਸੁੱਟ ਦਿੰਦੇ ਹੋ; ਜੇ ਤੁਸੀਂ ਕਿਸੇ ਗਲਤੀ ਨੂੰ ਛੱਡ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡੀ ਔਸਤ ਦਾ ਨੁਕਸਾਨ ਹੋਵੇਗਾ। ਇਸ ਲਈ, ਪਹਿਲਾਂ ਆਊਟਲਾਇਰ ਦੀ ਜਾਂਚ ਕਰਨੀ ਜ਼ਰੂਰੀ ਹੈ, ਨਾ ਕਿ ਇਸਨੂੰ ਆਪਣੇ ਆਪ ਮਿਟਾਉਣਾ.
ਆਮ ਖੋਜ ਵਿਧੀਆਂ: IQR ਵਿਧੀ (ਅੰਤਰ-ਕੁਆਰਟਾਈਲ ਰੇਂਜ; ਮੁੱਲ ਜੋ ਕਿ ਡੇਟਾ ਦੇ 25% ਅਤੇ 75% ਕੁਇੰਟਲ ਵਿਚਕਾਰ ਅੰਤਰ ਦੇ 1.5 ਗੁਣਾ ਤੋਂ ਵੱਧ ਹਨ ਆਊਟਲੀਅਰ ਮੰਨੇ ਜਾਂਦੇ ਹਨ) ਅਤੇ z-ਸਕੋਰ (ਮੱਧਮਾਨ ਮੁੱਲ ਤੋਂ ਦੂਰ ਮਿਆਰੀ ਵਿਵਹਾਰਾਂ ਦੀ ਸੰਖਿਆ; ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਆਊਟਲੀਅਰ ਜੇਕਰ ਇਹ 3 ਤੋਂ ਵੱਧ ਹੈ)। AI ਇਹਨਾਂ ਗਣਨਾਵਾਂ ਲਈ ਕੋਡ ਨੂੰ ਸਕਿੰਟਾਂ ਵਿੱਚ ਲਿਖਦਾ ਹੈ; ਪਰ "ਮਿਟਾਓ" ਕਹਿਣ ਤੋਂ ਪਹਿਲਾਂ, ਜਾਂਚ ਕਰੋ ਕਿ ਉਹ ਮੁੱਲ ਕੀ ਹਨ।
ਕਿਸਮ ਅਤੇ ਫਾਰਮੈਟ ਰੂਪਾਂਤਰਨ: ਚੁੱਪ ਗਲਤੀ ਸਰੋਤ
ਸਭ ਤੋਂ ਵੱਧ ਸਿਰ ਦਰਦਾਂ ਵਿੱਚੋਂ ਇੱਕ ਡੇਟਾ ਕਿਸਮ ਦੀ ਉਲਝਣ ਹੈ। ਜੇਕਰ ਇੱਕ "ਰਾਸ਼ੀ" ਕਾਲਮ ਟੈਕਸਟ ਦੇ ਰੂਪ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਜੋੜ ਨਹੀਂ ਸਕਦੇ ਹੋ; ਪ੍ਰੋਗਰਾਮ "ਇੱਕ ਹਜ਼ਾਰ ਦੋ ਸੌ ਅਤੇ ਪੰਜਾਹ" ਦੀ ਬਜਾਏ "1,250.50" ਵਰਗੇ ਤੁਰਕੀ ਫਾਰਮੈਟ ਕੀਤੇ ਨੰਬਰ ਨੂੰ ਗਲਤ ਢੰਗ ਨਾਲ ਪੜ੍ਹਦਾ ਹੈ। ਮਿਤੀਆਂ ("01/03/2024" ਦਿਨ-ਮਹੀਨਾ ਜਾਂ ਮਹੀਨਾ-ਦਿਨ?), ਸ਼੍ਰੇਣੀਆਂ ("ਮਰਦ"/"ਮਰਦ"/"ਐਮ" ਇੱਕੋ ਚੀਜ਼ ਹਨ?) ਅਤੇ ਇਕਾਈਆਂ (TL ਜਾਂ kuruş?) ਚੁੱਪਚਾਪ ਗਲਤ ਨਤੀਜੇ ਦਿੰਦੀਆਂ ਹਨ। ਸਫਾਈ ਦਾ ਇੱਕ ਵੱਡਾ ਹਿੱਸਾ ਇਹਨਾਂ ਅਸੰਗਤੀਆਂ ਨੂੰ ਸਟੈਂਡਰਡ ਵਿੱਚ ਖਿੱਚ ਰਿਹਾ ਹੈ: ਤਾਰੀਖਾਂ ਨੂੰ ਇੱਕ ਫਾਰਮੈਟ ਵਿੱਚ, ਸ਼੍ਰੇਣੀਆਂ ਨੂੰ ਇੱਕ ਸਪੈਲਿੰਗ ਵਿੱਚ, ਨੰਬਰਾਂ ਨੂੰ ਇੱਕ ਯੂਨਿਟ ਵਿੱਚ।
ਤਿੰਨ ਛੋਟੇ ਕੇਸ
ਕੇਸ 1 — ਔਸਤ ਜਾਲ। ਇੱਕ ਟੀਮ ਨੇ ਔਸਤ ($48,500) ਦੇ ਨਾਲ ਆਮਦਨੀ ਕਾਲਮ ਵਿੱਚ 320 ਗੁੰਮ ਹੋਏ ਮੁੱਲਾਂ ਨੂੰ ਭਰਿਆ। ਪਰ ਕਮੀਆਂ ਯੋਜਨਾਬੱਧ ਸਨ: ਇਹ ਘੱਟ-ਆਮਦਨ ਵਾਲੇ ਹਿੱਸੇ ਸਨ ਜਿਨ੍ਹਾਂ ਨੇ ਕਦੇ ਵੀ ਆਮਦਨ ਦਾ ਐਲਾਨ ਨਹੀਂ ਕੀਤਾ ਸੀ। ਔਸਤ ਭਰਨ ਨੇ ਇਸ ਸਮੂਹ ਨੂੰ ਨਕਲੀ ਤੌਰ 'ਤੇ ਅਮੀਰ ਬਣਾਇਆ ਅਤੇ ਕ੍ਰੈਡਿਟ ਮਾਡਲ ਗਲਤ ਸੀ। ਪਾਠ: ਇਸ ਨੂੰ ਭਰਨ ਤੋਂ ਪਹਿਲਾਂ "ਇਹ ਖਾਲੀ ਕਿਉਂ ਹੈ" ਨੂੰ ਪੁੱਛੋ।
ਕੇਸ 2 - ਆਊਟਲਾਇਰ ਜਿਸ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾਣਾ ਚਾਹੀਦਾ। ਇੱਕ ਰਿਟੇਲ ਵਿਸ਼ਲੇਸ਼ਕ ਨੇ ਵਿਕਰੀ ਡੇਟਾ ਵਿੱਚ 4 ਵੱਡੇ ਆਰਡਰ (1.8 ਮਿਲੀਅਨ TL ਹਰੇਕ) ਨੂੰ ਮਿਟਾ ਦਿੱਤਾ, ਇਹ ਸੋਚਦੇ ਹੋਏ ਕਿ ਉਹ "ਗਲਤੀਆਂ" ਸਨ। ਹਾਲਾਂਕਿ, ਇਹ ਅਸਲ ਕਾਰਪੋਰੇਟ ਆਰਡਰ ਸਨ ਅਤੇ ਕੁੱਲ ਟਰਨਓਵਰ ਦਾ 22% ਸਨ। ਮਿਟਾਉਣ ਤੋਂ ਬਾਅਦ ਦੇ ਪੂਰਵ ਅਨੁਮਾਨ ਮਾਡਲ ਨੇ ਸੰਸਥਾਗਤ ਮੰਗ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਖੁੰਝਾਇਆ। ਪਾਠ: ਇਸ ਨੂੰ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਬਾਹਰਲੇ ਹਿੱਸੇ ਦੀ ਜਾਂਚ ਕਰੋ।
ਕੇਸ 3 - ਮਿਤੀ ਫਾਰਮੈਟ ਆਫ਼ਤ। ਇੱਕ CSV ਵਿੱਚ, ਮਿਤੀਆਂ ਨੂੰ "2024-03-01" ਅਤੇ "01.03.2024" ਦੋਵਾਂ ਵਿੱਚ ਮਿਲਾਇਆ ਗਿਆ ਸੀ। ਜਦੋਂ YZ ਦੁਆਰਾ ਲਿਖੇ ਕੋਡ ਨੂੰ ਪਹਿਲੇ ਫਾਰਮੈਟ ਦੇ ਅਨੁਸਾਰ ਪਾਰਸ ਕੀਤਾ ਗਿਆ ਸੀ, 6,400 ਲਾਈਨਾਂ NaT ਬਣ ਗਈਆਂ ਸਨ "ਅਵੈਧ ਮਿਤੀ" ਅਤੇ ਚੁੱਪਚਾਪ ਵਿਸ਼ਲੇਸ਼ਣ ਤੋਂ ਬਾਹਰ ਰੱਖਿਆ ਗਿਆ ਸੀ। ਵਿਸ਼ਲੇਸ਼ਕ ਨੇ ਇਹ ਉਦੋਂ ਹੀ ਦੇਖਿਆ ਜਦੋਂ ਲਾਈਨਾਂ ਦੀ ਗਿਣਤੀ ਘੱਟ ਗਈ. ਪਾਠ: ਪਰਿਵਰਤਨ ਤੋਂ ਬਾਅਦ ਹਮੇਸ਼ਾ ਲਾਈਨਾਂ ਅਤੇ ਖਾਲੀ ਥਾਂਵਾਂ ਦੀ ਗਿਣਤੀ ਦੀ ਜਾਂਚ ਕਰੋ।
ਚਾਰ ਕਾਪੀ ਕਰਨ ਯੋਗ ਟੈਂਪਲੇਟ
1) ਗੁੰਮ ਮੁੱਲ ਦਾ ਨਕਸ਼ਾ:
ਮੇਰੇ ਕੋਲ ਪਾਂਡਾ ਡੀ.ਐਫ. ਕੋਡ ਲਿਖੋ ਜੋ ਹਰੇਕ ਕਾਲਮ ਲਈ ਗੁੰਮ (NaN) ਦੀ ਸੰਖਿਆ ਅਤੇ ਪ੍ਰਤੀਸ਼ਤ ਦਰਸਾਉਂਦੀ ਇੱਕ ਸਾਰਣੀ ਬਣਾਉਂਦਾ ਹੈ। ਫਿਰ, 40% ਤੋਂ ਵੱਧ ਦੀ ਗੁੰਮ ਦਰ ਅਤੇ 5% ਤੋਂ ਘੱਟ ਗੁੰਮ ਦਰ ਵਾਲੇ ਕਾਲਮਾਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਸੂਚੀਬੱਧ ਕਰੋ। ਬਸ ਇਸ ਡਾਇਗਨੌਸਿਸ ਕੋਡ ਨੂੰ ਤਿਆਰ ਕਰੋ, ਨਾ ਕਿ ਤੁਸੀਂ ਕਿਹੜੀ ਰਣਨੀਤੀ ਦਾ ਸੁਝਾਅ ਦਿੰਦੇ ਹੋ; ਮੈਂ ਫੈਸਲਾ ਕਰਾਂਗਾ।
2) ਬਾਹਰੀ ਨਿਰੀਖਣ (ਮਿਟਾਉਣਾ ਨਹੀਂ):
ਕੋਡ ਲਿਖੋ ਜੋ IQR ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਮੇਰੇ "ਰਾਸ਼ੀ" ਕਾਲਮ ਲਈ ਬਾਹਰ ਨਿਕਲਦਾ ਹੈ (ਮਿਟਾਉਂਦਾ ਨਹੀਂ!)। ਬਾਹਰਲੀਆਂ ਕਤਾਰਾਂ ਨੂੰ ਇੱਕ ਵੱਖਰੇ df ਵਿੱਚ ਰੱਖੋ ਤਾਂ ਜੋ ਮੈਂ ਉਹਨਾਂ ਦੀ ਦਸਤੀ ਜਾਂਚ ਕਰ ਸਕਾਂ। ਆਊਟਲੀਅਰਾਂ ਦੀ ਗਿਣਤੀ ਅਤੇ ਕੁੱਲ ਵਿੱਚ ਉਹਨਾਂ ਦਾ ਹਿੱਸਾ ਵੀ ਛਾਪੋ।
3) ਕਿਸਮ/ਫਾਰਮੈਟ ਮਾਨਕੀਕਰਨ:
ਕੋਡ ਲਿਖੋ ਜੋ ਹੇਠਾਂ ਦਿੱਤੇ ਕਾਲਮਾਂ ਨੂੰ ਮਿਆਰੀ ਬਣਾਉਂਦਾ ਹੈ:- "ਤਾਰੀਖ": ਮਿਸ਼ਰਤ ਫਾਰਮੈਟ ਹੋ ਸਕਦੇ ਹਨ ("2024-03-01" ਅਤੇ "01.03.2024"); ਉਹਨਾਂ ਸਾਰਿਆਂ ਨੂੰ ਡੇਟ ਟਾਈਮ ਵਿੱਚ ਬਦਲੋ, ਅਨੁਵਾਦ ਨਾ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਲੋਕਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ ਅਤੇ ਰਿਪੋਰਟ ਕਰੋ (ਚੁੱਪ ਕਰਕੇ ਸੁੱਟ ਦਿਓ)। - "ਲਿੰਗ": "ਮਰਦ"/"ਮਰਦ"/"ਐਮ" -> "ਐਮ", "ਮਹਿਲਾ"/"ਮਹਿਲਾ"/"ਐਫ" -> "ਕੇ"। - "ਰਾਸ਼ੀ": ਤੁਰਕੀ ਫਾਰਮੈਟ ਕੀਤਾ ਟੈਕਸਟ ("1.250,50") -> ਦਸ਼ਮਲਵ ਸੰਖਿਆ। ਪ੍ਰਿੰਟ ਕਰੋ ਕਿ ਹਰੇਕ ਪਰਿਵਰਤਨ ਤੋਂ ਬਾਅਦ ਕਿੰਨੀਆਂ ਕਤਾਰਾਂ ਪ੍ਰਭਾਵਿਤ ਹੁੰਦੀਆਂ ਹਨ।
4) ਸਫਾਈ ਤੋਂ ਪਹਿਲਾਂ / ਬਾਅਦ ਵਿੱਚ ਜਾਂਚ ਕਰੋ:
ਕੋਡ ਲਿਖੋ ਜੋ ਇੱਕ ਸਫ਼ਾਈ ਪੜਾਅ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਚੁਣੇ ਗਏ ਕਾਲਮਾਂ ਦੇ df.shape, ਗੁੰਮ ਹੋਈ ਗਿਣਤੀ, ਅਤੇ ਸੰਖੇਪ ਅੰਕੜੇ (ਔਸਤ, ਮੱਧ, ਘੱਟੋ-ਘੱਟ, ਅਧਿਕਤਮ) ਦੀ ਤੁਲਨਾ ਕਰਦਾ ਹੈ। ਉਦੇਸ਼: ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਸਫਾਈ ਕੀ ਬਦਲਦੀ ਹੈ।
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ / ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟ
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ:
ਇਸ ਡੇਟਾ ਨੂੰ ਸਾਫ਼ ਕਰੋ।
"ਸਪਸ਼ਟ" ਅਸਪਸ਼ਟ ਹੈ; AI ਇਹ ਨਹੀਂ ਜਾਣਦਾ ਹੈ ਕਿ ਕਿਹੜੇ ਗੁੰਮ ਹੋਏ ਹਿੱਸਿਆਂ ਨੂੰ ਮਿਟਾਉਣਾ ਚਾਹੀਦਾ ਹੈ, ਕੀ ਭਰਨਾ ਹੈ, ਕਿਸ ਕਾਲਮ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਨਾ ਹੈ ਅਤੇ ਕਿਵੇਂ ਕਰਨਾ ਹੈ। ਨਤੀਜਾ: ਅੰਨ੍ਹੇ, ਅਟੱਲ ਤਬਦੀਲੀਆਂ।
ਸ਼ਕਤੀਸ਼ਾਲੀ ਪ੍ਰਾਉਟ:
ਤੁਹਾਡੀ ਭੂਮਿਕਾ: ਡਾਟਾ ਕਲੀਨਿੰਗ ਸਹਾਇਕ। df ਕਾਲਮ: customer_id (int), registration_date (ਮਿਕਸਡ ਫਾਰਮੈਟ ਟੈਕਸਟ), revenue_tl (ਟੈਕਸਟ, "1,200.00"), ਸ਼ਹਿਰ (ਟੈਕਸਟ, ਅਸੰਗਤ ਸਪੈਲਿੰਗ)। ਨਿਯਮ: - ਅਸਲੀ df ਬਦਲਣਾ; df_clean ਨਾਮ ਦੀ ਕਾਪੀ 'ਤੇ ਕੰਮ ਕਰੋ।- income_tl ਨੂੰ ਸੰਖਿਆ ਵਿੱਚ ਬਦਲੋ, ਜੋ ਅਨੁਵਾਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਉਸ ਨੂੰ ਗਿਣੋ।- record_date ਨੂੰ datetime ਵਿੱਚ ਬਦਲੋ, ਗਲਤੀ ਦੀ ਰਿਪੋਰਟ ਕਰੋ।- ਮੇਰੀ ਮਨਜ਼ੂਰੀ ਤੋਂ ਬਿਨਾਂ ਕੋਈ ਵੀ ਕਤਾਰ ਨਾ ਮਿਟਾਓ; ਉਮੀਦਵਾਰਾਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਦਿਖਾਓ। ਹਰ ਪੜਾਅ ਤੋਂ ਬਾਅਦ, df_temiz.shape ਅਤੇ ਗੁੰਮ ਹੋਏ ਨੰਬਰ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰੋ।
ਇੱਥੇ ਸਰੋਤ ਸੁਰੱਖਿਅਤ ਹੈ, ਹਰ ਪਰਿਵਰਤਨ ਨੂੰ ਗਿਣਿਆ ਜਾਂਦਾ ਹੈ, ਮਿਟਾਉਣਾ ਮਨੁੱਖ ਲਈ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ.
ਆਮ ਗਲਤੀਆਂ
- ਬਿਨਾਂ ਪੁੱਛੇ "ਇਹ ਖਾਲੀ ਕਿਉਂ ਹੈ?" ਮੱਧਮਾਨ ਦੇ ਨਾਲ ਯੋਜਨਾਬੱਧ/ਮਹੱਤਵਪੂਰਣ ਗਾਇਬ ਨੂੰ ਭਰਨਾ ਡੇਟਾ ਨੂੰ ਵਿਗਾੜਦਾ ਹੈ।
- ਬਿਨਾਂ ਜਾਂਚ ਕੀਤੇ ਆਊਟਲੀਅਰ ਨੂੰ ਮਿਟਾਉਣਾ। ਅਸਲ ਪਰ ਦੁਰਲੱਭ ਘਟਨਾਵਾਂ ਨੂੰ ਰੱਦ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਨੂੰ ਨਸ਼ਟ ਕਰ ਦਿੰਦਾ ਹੈ।
- ਸਾਰੇ ਡੇਟਾ ਤੋਂ ਪੈਡਿੰਗ ਮੁੱਲ ਦੀ ਗਣਨਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ। ਟੈਸਟ ਡੇਟਾ ਸਮੇਤ ਲੀਕੇਜ ਬਣਾਉਂਦਾ ਹੈ; ਸਿਰਫ਼ ਸਿਖਲਾਈ ਤੋਂ ਗਣਨਾ ਕਰੋ.
- ਪਰਿਵਰਤਨ ਤੋਂ ਬਾਅਦ ਕਤਾਰਾਂ/ਖਾਲੀਆਂ ਦੀ ਗਿਣਤੀ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਰਹੀ। ਚੁੱਪ-ਚਾਪ NaT/NaN ਵਾਲੀਆਂ ਕਤਾਰਾਂ ਨੂੰ ਵਿਸ਼ਲੇਸ਼ਣ ਤੋਂ ਬਾਹਰ ਰੱਖਿਆ ਗਿਆ ਹੈ।
- ਮੂਲ ਡੇਟਾ ਨੂੰ ਓਵਰਰਾਈਟ ਕਰਨਾ। ਵਾਪਸੀ ਅਤੇ ਪ੍ਰਜਨਨ ਯੋਗਤਾ ਖਤਮ ਹੋ ਗਈ ਹੈ।
ਸੁਝਾਅ: "ਪਹਿਲਾਂ-ਬਾਅਦ" ਤੁਲਨਾ ਨਾਲ ਕਲੀਨਜ਼ ਚਲਾਓ। ਹਰ ਪੜਾਅ ਦੇ ਬਾਅਦ df.shape, ਗੁੰਮ ਹੋਈ ਗਿਣਤੀ, ਅਤੇ ਨਾਜ਼ੁਕ ਕਾਲਮਾਂ ਦੇ ਸੰਖੇਪ ਅੰਕੜੇ ਛਾਪੋ। ਇਸ ਲਈ ਤੁਸੀਂ ਤੁਰੰਤ ਦੇਖਦੇ ਹੋ ਕਿ ਇੱਕ ਕਦਮ ਅਚਾਨਕ 6,000 ਕਤਾਰਾਂ ਨੂੰ ਤਬਾਹ ਕਰ ਦਿੰਦਾ ਹੈ.
ਸੰਖੇਪ ਵਿੱਚ
ਕਲੀਨਿੰਗ ਡੇਟਾ ਸਾਇੰਸ ਦਾ ਸਭ ਤੋਂ ਵੱਧ ਸਮਾਂ ਬਰਬਾਦ ਕਰਨ ਵਾਲਾ ਅਤੇ ਫੈਸਲਾ ਲੈਣ ਵਾਲਾ ਪੜਾਅ ਹੈ। ਹਰ ਪਰਿਵਰਤਨ ਡੇਟਾ ਨੂੰ ਬਦਲਦਾ ਹੈ, ਇਸਲਈ ਹਰ ਇੱਕ ਇੱਕ ਸੁਚੇਤ ਫੈਸਲਾ ਹੈ. ਗੁੰਮ ਮੁੱਲਾਂ ਲਈ, ਪੁੱਛੋ "ਇਹ ਖਾਲੀ ਕਿਉਂ ਹੈ?" ਕਿਸੇ ਵੀ ਆਊਟਲੀਅਰ ਨੂੰ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ; ਕਿਸਮ ਅਤੇ ਫਾਰਮੈਟ ਨੂੰ ਮਿਆਰੀ ਵਿੱਚ ਲਿਆਓ। ਸਿਰਫ਼ ਸਿਖਲਾਈ ਡੇਟਾ ਤੋਂ ਭਰਨ ਦੇ ਮੁੱਲ ਦੀ ਗਣਨਾ ਕਰੋ, ਅਸਲੀ ਰੱਖੋ, ਅਤੇ ਇਸਨੂੰ ਗਿਣ ਕੇ ਹਰੇਕ ਕਦਮ ਦੇ ਪ੍ਰਭਾਵ ਨੂੰ ਟਰੈਕ ਕਰੋ। AI ਇਸ ਕਾਰੋਬਾਰ ਵਿੱਚ ਇੱਕ ਜ਼ਬਰਦਸਤ ਐਕਸੀਲੇਟਰ ਹੈ, ਪਰ ਮਨੁੱਖ ਇਹ ਫੈਸਲਾ ਕਰਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਕੀ ਸਾਫ਼ ਕਰਦੇ ਹੋ ਅਤੇ ਕਿਉਂ।
ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਕੰਮ
ਇੱਕ ਛੋਟੀ ਸਾਰਣੀ ਲਓ (ਜਾਂ ਬਣਾਓ) ਅਤੇ ਜਾਣਬੁੱਝ ਕੇ ਇਸ ਵਿੱਚ ਤਿੰਨ ਸਮੱਸਿਆਵਾਂ ਪਾਓ: ਇੱਕ ਗੁੰਮ ਮੁੱਲ ਟੂਪਲ, ਇੱਕ ਆਊਟਲੀਅਰ, ਇੱਕ ਮਿਕਸਡ ਮਿਤੀ ਫਾਰਮੈਟ। ਉਪਰੋਕਤ ਟੈਂਪਲੇਟਸ ਦੇ ਨਾਲ AI ਤੋਂ ਨਿਦਾਨ ਅਤੇ ਮਾਨਕੀਕਰਨ ਕੋਡ ਦੀ ਬੇਨਤੀ ਕਰੋ; ਹਰ ਕਦਮ ਤੋਂ ਪਹਿਲਾਂ/ਬਾਅਦ ਦੀਆਂ ਕਤਾਰਾਂ ਅਤੇ ਖਾਲੀ ਥਾਂਵਾਂ ਦੀ ਗਿਣਤੀ ਦੀ ਤੁਲਨਾ ਕਰੋ। ਘੱਟੋ-ਘੱਟ ਇੱਕ "ਚੁੱਪ ਦੇ ਨੁਕਸਾਨ" ਨੂੰ ਫੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਅਤੇ ਨੋਟ ਕਰੋ ਕਿ ਤੁਸੀਂ ਇਸਨੂੰ ਕਿਵੇਂ ਦੇਖਿਆ ਹੈ.
ਚੈੱਕਲਿਸਟ
- [ ] ਕੀ ਮੈਂ ਅਸਲ ਕੱਚਾ ਡੇਟਾ ਰੱਖਿਆ ਅਤੇ ਕਾਪੀ 'ਤੇ ਕੰਮ ਕੀਤਾ?
- [ ] ਕੀ ਮੈਂ ਹਰੇਕ ਗੁੰਮ ਹੋਏ ਕਾਲਮ ਲਈ "ਇਹ ਖਾਲੀ ਕਿਉਂ ਹੈ" ਸਵਾਲ ਪੁੱਛਿਆ ਹੈ?
- [ ] ਕੀ ਮੈਂ ਆਊਟਲੀਅਰਾਂ ਨੂੰ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਦੀ ਸਮੀਖਿਆ ਕੀਤੀ ਸੀ?
- ਕੀ ਮੈਂ ਸਿਰਫ਼ ਸਿਖਲਾਈ ਡੇਟਾ ਤੋਂ ਪੈਡਿੰਗ ਮੁੱਲ ਦੀ ਗਣਨਾ ਕੀਤੀ ਹੈ?
- ਕੀ ਮੈਂ ਹਰ ਕਦਮ ਦੇ ਬਾਅਦ ਲਾਈਨਾਂ/ਖਾਲੀ ਥਾਂਵਾਂ ਦੀ ਗਿਣਤੀ ਦੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹਾਂ ਅਤੇ ਚੁੱਪ ਦੇ ਨੁਕਸਾਨ ਨੂੰ ਖਤਮ ਕਰ ਰਿਹਾ ਹਾਂ?