ਲਾਭ:
- ਡੋਮੇਨ ਗਿਆਨ ਦੇ ਨਾਲ ਅਰਥਪੂਰਨ ਡੈਰੀਵੇਟਿਵ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਪੈਦਾ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਅਤੇ ਢੁਕਵੇਂ ਤਰੀਕਿਆਂ (ਇੱਕ-ਗਰਮ, ਲੇਬਲ, ਨਿਸ਼ਾਨਾ) ਨਾਲ ਸ਼੍ਰੇਣੀਬੱਧ ਸ਼੍ਰੇਣੀਆਂ ਨੂੰ ਏਨਕੋਡ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
- ਮਾਡਲ ਕਿਸਮ (ਮਾਨਕੀਕਰਨ, ਸਧਾਰਣਕਰਨ) ਦੇ ਅਨੁਸਾਰ ਸੰਖਿਆਤਮਕ ਵੇਰੀਏਬਲ ਨੂੰ ਸਕੇਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਅਤੇ ਬੇਲੋੜੀ ਜਾਂ ਅਧੂਰੀ ਸਕੇਲਿੰਗ ਤੋਂ ਬਚੋ
- ਸਿਖਲਾਈ/ਟੈਸਟ ਸਪਲਿਟ ਤੋਂ ਬਾਅਦ ਅਤੇ ਸਿਰਫ ਸਿਖਲਾਈ ਤੋਂ ਸਾਰੇ ਪਰਿਵਰਤਨਾਂ ਨੂੰ ਸਿੱਖ ਕੇ ਵਿਸ਼ੇਸ਼ਤਾ ਲੀਕ ਹੋਣ ਤੋਂ ਬਚਣ ਦੀ ਸਮਰੱਥਾ
ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਵਿੱਚ ਇੱਕ ਪੁਰਾਣੀ ਕਹਾਵਤ ਹੈ: "ਅਪਲਾਈਡ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਜ਼ਰੂਰੀ ਤੌਰ 'ਤੇ ਵਿਸ਼ੇਸ਼ਤਾ ਇੰਜੀਨੀਅਰਿੰਗ ਹੈ।" ਕਿਉਂਕਿ ਇੱਕ ਮਾਡਲ ਦੀ ਸਫਲਤਾ ਅਕਸਰ ਤੁਹਾਡੇ ਦੁਆਰਾ ਚੁਣੇ ਗਏ ਐਲਗੋਰਿਦਮ ਦੀ ਬਜਾਏ, ਮਾਡਲ ਨੂੰ ਦਿੱਤੇ ਜਾਣ ਵਾਲੇ ਇਨਪੁਟਸ ਤੋਂ ਆਉਂਦੀ ਹੈ। ਵਿਸ਼ੇਸ਼ਤਾ ਇੰਜੀਨੀਅਰਿੰਗ ਕੱਚੇ ਡੇਟਾ ਤੋਂ ਅਰਥਪੂਰਨ ਸਿਗਨਲ ਪੈਦਾ ਕਰਨ ਦੀ ਕਲਾ ਹੈ ਜਿਸ ਤੋਂ ਮਾਡਲ ਸਿੱਖ ਸਕਦਾ ਹੈ। ਨਕਲੀ ਬੁੱਧੀ ਇਸ ਪੜਾਅ 'ਤੇ ਵਿਚਾਰਾਂ ਦਾ ਇੱਕ ਅਮੀਰ ਸਰੋਤ ਹੈ: ਜਦੋਂ ਤੁਸੀਂ ਪੁੱਛਦੇ ਹੋ ਕਿ "ਇਸ ਡੇਟਾ ਤੋਂ ਕਿਹੜੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਪੈਦਾ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ", ਤਾਂ ਇਹ ਦਰਜਨਾਂ ਸੁਝਾਵਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ। ਪਰ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਸੁਝਾਅ ਕੀਮਤੀ ਹੋ ਸਕਦੇ ਹਨ, ਕੁਝ ਬੇਕਾਰ ਹੋ ਸਕਦੇ ਹਨ, ਅਤੇ ਕੁਝ ਖਤਰਨਾਕ (ਲੀਕ) ਹੋ ਸਕਦੇ ਹਨ। ਇਸਨੂੰ ਸੁਲਝਾਉਣਾ ਤੁਹਾਡਾ ਕੰਮ ਹੈ।
ਇੰਜਨੀਅਰਿੰਗ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਕਿਉਂ ਹੈ
ਕੱਚਾ ਡੇਟਾ ਇਸ ਦੇ ਵਧੀਆ ਰੂਪ ਵਿੱਚ ਮਾਡਲ ਵਿੱਚ ਘੱਟ ਹੀ ਆਉਂਦਾ ਹੈ। ਜਦੋਂ ਕਿ "ਜਨਮ ਦੀ ਮਿਤੀ" ਕਾਲਮ ਇਕੱਲਾ ਅਰਥਹੀਣ ਹੈ, ਇਸ ਤੋਂ ਪੈਦਾ ਹੋਇਆ "ਉਮਰ" ਮੁੱਲ ਇੱਕ ਮਜ਼ਬੂਤ ਸੰਕੇਤ ਹੈ। ਤੁਸੀਂ "ਆਰਡਰ ਟਾਈਮਸਟੈਂਪ" ਤੋਂ "ਹਫ਼ਤੇ ਦਾ ਦਿਨ", "ਦਿਨ/ਰਾਤ", "ਕੀ ਇਹ ਛੁੱਟੀ ਹੈ" ਵਰਗੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰ ਸਕਦੇ ਹੋ। ਤੁਸੀਂ ਇੱਕ ਅਨੁਪਾਤ ("ਕਰਜ਼ਾ/ਆਮਦਨੀ ਅਨੁਪਾਤ") ਪੈਦਾ ਕਰਨ ਲਈ ਦੋ ਕਾਲਮਾਂ ਨੂੰ ਜੋੜ ਸਕਦੇ ਹੋ। ਇੱਥੇ, ਵਿਸ਼ੇਸ਼ਤਾ ਇੰਜੀਨੀਅਰਿੰਗ ਗਣਿਤ ਦੇ ਸੰਕੇਤ ਵਿੱਚ ਡੋਮੇਨ ਗਿਆਨ ਦਾ ਅਨੁਵਾਦ ਕਰ ਰਹੀ ਹੈ; ਅਤੇ ਇਹੀ ਕਾਰਨ ਹੈ ਕਿ ਇਹ ਉਹ ਪੜਾਅ ਹੈ ਜਿਸ ਲਈ ਸਭ ਤੋਂ ਵੱਧ ਮਨੁੱਖੀ ਬੁੱਧੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ.
ਸ਼੍ਰੇਣੀਬੱਧ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਸੰਖਿਆਵਾਂ ਵਿੱਚ ਬਦਲਣਾ: ਕੋਡਿੰਗ
ਮਾਡਲ ਆਮ ਤੌਰ 'ਤੇ ਸੰਖਿਆਵਾਂ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਨ, ਟੈਕਸਟ ਨਾਲ ਨਹੀਂ। ਸ਼੍ਰੇਣੀਬੱਧ ਵੇਰੀਏਬਲਾਂ (ਜਿਵੇਂ ਕਿ ਸ਼ਹਿਰ, ਰੰਗ, ਉਤਪਾਦ ਦੀ ਕਿਸਮ) ਨੂੰ ਸੰਖਿਆਵਾਂ ਵਿੱਚ ਬਦਲਣਾ ਇੰਕੋਡਿੰਗ ਕਿਹਾ ਜਾਂਦਾ ਹੈ। ਤਿੰਨ ਆਮ ਤਰੀਕੇ:
ਇੱਕ-ਗਰਮ ਏਨਕੋਡਿੰਗ: ਹਰੇਕ ਸ਼੍ਰੇਣੀ ਲਈ 0/1 ਦੇ ਮੁੱਲ ਦੇ ਨਾਲ ਇੱਕ ਵੱਖਰਾ ਕਾਲਮ ਖੋਲ੍ਹਦਾ ਹੈ। "ਸ਼ਹਿਰ" ਲਈ, ਇਸਤਾਂਬੁਲ, ਅੰਕਾਰਾ, ਇਜ਼ਮੀਰ ਕਾਲਮ ਬਣਾਏ ਗਏ ਹਨ; ਜੇਕਰ ਕੋਈ ਗਾਹਕ ਇਸਤਾਂਬੁਲ ਤੋਂ ਹੈ, ਤਾਂ ਸਿਰਫ਼ ਉਹੀ ਕਾਲਮ 1 ਹੋਵੇਗਾ। ਜਦੋਂ ਸ਼੍ਰੇਣੀਆਂ ਦੀ ਗਿਣਤੀ ਘੱਟ ਹੋਵੇ ਤਾਂ ਆਦਰਸ਼; ਜੇਕਰ ਬਹੁਤ ਸਾਰੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਹਨ ਤਾਂ ਇਹ ਸੈਂਕੜੇ ਕਾਲਮ ਪੈਦਾ ਕਰਦਾ ਹੈ (ਇਸ ਨੂੰ "ਆਕਾਰ ਵਿਸਫੋਟ" ਕਿਹਾ ਜਾਂਦਾ ਹੈ)।
ਲੇਬਲ ਏਨਕੋਡਿੰਗ: ਹਰੇਕ ਸ਼੍ਰੇਣੀ ਨੂੰ ਇੱਕ ਨੰਬਰ ਦਿੰਦਾ ਹੈ (ਇਸਤਾਂਬੁਲ=0, ਅੰਕਾਰਾ=1)। ਇਹ ਸਧਾਰਨ ਹੈ, ਪਰ ਇਹ ਗਲਤੀ ਨਾਲ ਮਾਡਲ ਨੂੰ ਇੱਕ ਕ੍ਰਮ ਸਿਖਾ ਸਕਦਾ ਹੈ (ਜਿਵੇਂ ਕਿ ਅੰਕਾਰਾ > ਇਸਤਾਂਬੁਲ); ਇਸ ਲਈ ਇਸਦੀ ਵਰਤੋਂ ਬਿਨਾਂ ਕ੍ਰਮਬੱਧ ਸ਼੍ਰੇਣੀਆਂ ਵਿੱਚ ਸਾਵਧਾਨੀ ਨਾਲ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਟਾਰਗੇਟ ਏਨਕੋਡਿੰਗ: ਹਰੇਕ ਸ਼੍ਰੇਣੀ ਨੂੰ ਉਸ ਸ਼੍ਰੇਣੀ ਵਿੱਚ ਟੀਚਾ ਵੇਰੀਏਬਲ ਦੀ ਔਸਤ ਨਾਲ ਬਦਲਦਾ ਹੈ। ਇਹ ਬਹੁਤ ਸ਼ਕਤੀਸ਼ਾਲੀ ਹੈ, ਪਰ ਲੀਕ ਹੋਣ ਦਾ ਸਭ ਤੋਂ ਖਤਰਨਾਕ ਸਰੋਤ ਹੈ: ਜੇ ਤੁਸੀਂ ਟੈਸਟ ਡੇਟਾ ਦੇ ਟੀਚੇ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋ, ਤਾਂ ਮਾਡਲ ਭਵਿੱਖ ਨੂੰ ਵੇਖਦਾ ਹੈ. ਇਸਦੀ ਗਣਨਾ ਸਿਰਫ ਸਿਖਲਾਈ ਡੇਟਾ ਤੋਂ ਅਤੇ ਧਿਆਨ ਨਾਲ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ (ਕਰਾਸ-ਵੈਧਤਾ ਦੇ ਅੰਦਰ)।
ਸਕੇਲਿੰਗ: ਵੱਡੀ ਗਿਣਤੀ ਮਾਡਲ ਨੂੰ ਹਾਵੀ ਨਹੀਂ ਕਰਦੀ
ਕੁਝ ਮਾਡਲ (ਦੂਰੀ-ਅਧਾਰਿਤ, ਰੇਖਿਕ ਮਾਡਲ, ਨਿਊਰਲ ਨੈੱਟਵਰਕ) ਵੇਰੀਏਬਲ ਦੇ ਪੈਮਾਨੇ ਲਈ ਸੰਵੇਦਨਸ਼ੀਲ ਹੁੰਦੇ ਹਨ। ਜੇਕਰ "ਆਮਦਨ" (0-500,000) ਅਤੇ "ਉਮਰ" (0-100) ਇੱਕੋ ਪੈਟਰਨ ਵਿੱਚ ਆਉਂਦੀਆਂ ਹਨ, ਤਾਂ ਆਮਦਨੀ ਸਿਰਫ਼ ਇਸ ਲਈ ਹਾਵੀ ਹੋ ਸਕਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਵੱਡੀ ਹੈ। ਸਕੇਲਿੰਗ ਇਸ ਨੂੰ ਠੀਕ ਕਰਦੀ ਹੈ। ਦੋ ਆਮ ਵਿਧੀਆਂ: ਮਾਨਕੀਕਰਨ (ਹਰੇਕ ਮੁੱਲ ਨੂੰ "ਕਿੰਨੇ ਮਿਆਰੀ ਵਿਵਹਾਰ ਦਾ ਮਤਲਬ ਤੋਂ ਦੂਰ" ਵਿੱਚ ਬਦਲਦਾ ਹੈ) ਅਤੇ ਸਧਾਰਣਕਰਨ (ਘੱਟੋ-ਘੱਟ ਸਧਾਰਣਕਰਨ — ਮੁੱਲਾਂ ਨੂੰ ਰੇਂਜ 0-1 ਵਿੱਚ ਸੰਕੁਚਿਤ ਕਰਦਾ ਹੈ)। ਰੁੱਖ-ਅਧਾਰਿਤ ਮਾਡਲ (ਫੈਸਲੇ ਵਾਲੇ ਰੁੱਖ, ਬੇਤਰਤੀਬ ਜੰਗਲ) ਸਕੇਲ ਅਸੰਵੇਦਨਸ਼ੀਲ ਹੁੰਦੇ ਹਨ, ਉਹਨਾਂ ਨੂੰ ਸਕੇਲਿੰਗ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ ਹੈ।
ਸਾਵਧਾਨ: ਸਕੇਲਿੰਗ ਅਤੇ ਕੋਡਿੰਗ ਮਾਪਦੰਡ (ਮਤਲਬ, ਮਿਆਰੀ ਵਿਵਹਾਰ, ਸ਼੍ਰੇਣੀ-ਅਰਥ ਮੈਪਿੰਗ) ਦੀ ਗਣਨਾ ਸਿਰਫ਼ ਸਿਖਲਾਈ ਡੇਟਾ ਤੋਂ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ, ਫਿਰ ਇਹੀ ਟੈਸਟ ਡੇਟਾ 'ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਟੈਸਟ ਡੇਟਾ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਲੀਕ ਹੁੰਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਮਾਡਲ ਨੂੰ ਅਸਲ ਨਾਲੋਂ ਬਿਹਤਰ ਦਿਖਦਾ ਹੈ।
ਵਿਸ਼ੇਸ਼ਤਾ ਇੰਜੀਨੀਅਰਿੰਗ ਵਿੱਚ ਲੀਕ ਹੋਣ ਦਾ ਦਿਲ
ਵਿਸ਼ੇਸ਼ਤਾ ਜਨਰੇਸ਼ਨ ਉਹ ਹੈ ਜਿੱਥੇ ਡਾਟਾ ਲੀਕ ਹੋਣ ਦਾ ਕਾਰਨ ਅਕਸਰ ਹੁੰਦਾ ਹੈ। ਦੋ ਆਮ ਗਲਤੀਆਂ: ਸਮਾਂ ਲੀਕ — ਇੱਕ ਵਿਸ਼ੇਸ਼ਤਾ ਪੈਦਾ ਕਰਨਾ ਜਿਸ ਵਿੱਚ ਭਵਿੱਖ ਦੀ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ ("ਪਿਛਲੇ 30 ਦਿਨ ਦੀ ਔਸਤ" ਦੀ ਗਣਨਾ ਕਰਦੇ ਸਮੇਂ ਪੂਰਵ ਅਨੁਮਾਨ ਦੇ ਦਿਨ ਤੋਂ ਬਾਅਦ ਦੇ ਦਿਨਾਂ ਸਮੇਤ)। ਸਟੈਟਿਸਟਿਕਸ ਲੀਕੇਜ — ਸਿਖਲਾਈ/ਟੈਸਟ ਸਪਲਿਟ ਤੋਂ ਪਹਿਲਾਂ ਸਾਰੇ ਡੇਟਾ ਤੋਂ ਇੱਕ ਵਿਸ਼ੇਸ਼ਤਾ (ਸਕੇਲਿੰਗ ਔਸਤ, ਟੀਚਾ ਏਨਕੋਡਿੰਗ ਮੁੱਲ) ਦੀ ਗਣਨਾ ਕਰਨਾ। ਨਿਯਮ: ਟ੍ਰੇਨ/ਟੈਸਟ ਸਪਲਿਟ ਕਰਨ ਤੋਂ ਬਾਅਦ ਹਰ ਇੱਕ ਪਰਿਵਰਤਨ ਨੂੰ ਸਿੱਖੋ ਅਤੇ ਸਿਰਫ ਸਿਖਲਾਈ ਡੇਟਾ ਤੋਂ। ਇਸ ਨੂੰ ਨਿਯਮਤ ਤੌਰ 'ਤੇ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਸੁਰੱਖਿਅਤ ਤਰੀਕਾ ਹੈ ਪਾਈਪਲਾਈਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ - ਇੱਕ ਢਾਂਚਾ ਜੋ ਸਾਰੇ ਪਰਿਵਰਤਨਾਂ ਨੂੰ ਇੱਕ ਲੜੀ ਵਿੱਚ ਇਕੱਠਾ ਕਰਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਵੰਡਣ ਤੋਂ ਬਾਅਦ ਲਾਗੂ ਕਰਦਾ ਹੈ।
ਵਿਧੀ
ਕਿਸ ਲਈ
ਲੀਕ ਹੋਣ ਦਾ ਖਤਰਾ
ਨੋਟ
ਇੱਕ-ਗਰਮ ਏਨਕੋਡਿੰਗ
ਕੁਝ ਸ਼੍ਰੇਣੀਆਂ ਦੇ ਨਾਲ ਵੇਰੀਏਬਲ
ਘੱਟ
ਕਈ ਸ਼੍ਰੇਣੀਆਂ ਵਿੱਚ ਆਕਾਰ ਨੂੰ ਵਿਸਫੋਟ ਕਰਦਾ ਹੈ
ਲੇਬਲ ਕੋਡਿੰਗ
ਕ੍ਰਮਬੱਧ ਸ਼੍ਰੇਣੀ
ਘੱਟ
ਆਊਟ ਆਫ ਆਰਡਰ ਗਲਤ ਕ੍ਰਮ ਸਿਖਾਉਂਦਾ ਹੈ
ਟੀਚਾ ਇੰਕੋਡਿੰਗ
ਬਹੁ-ਸ਼੍ਰੇਣੀ, ਮਜ਼ਬੂਤ ਸਿਗਨਲ
ਬਹੁਤ ਉੱਚਾ
ਸਿਰਫ਼ ਸਿੱਖਿਆ ਤੋਂ, ਸੀ.ਵੀ
ਮਾਨਕੀਕਰਨ
ਰੇਖਿਕ/ਦੂਰੀ ਦੇ ਮਾਡਲ
ਮੱਧਮ
ਪੈਰਾਮੀਟਰ ਸਿਰਫ ਸਿੱਖਿਆ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ
ਟਾਈਮ ਵਿੰਡੋ ਫੀਚਰ
ਸਮਾਂ ਲੜੀ
ਉੱਚ
ਭਵਿੱਖ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ
ਤਿੰਨ ਛੋਟੇ ਕੇਸ
ਕੇਸ 1 - ਕੀਮਤੀ ਸੰਪਤੀ। ਇੱਕ ਕ੍ਰੈਡਿਟ ਟੀਮ ਨੇ ਕੱਚੀ "ਮਾਸਿਕ ਆਮਦਨ" ਅਤੇ "ਮਾਸਿਕ ਕਰਜ਼ੇ ਦੀ ਅਦਾਇਗੀ" ਕਾਲਮਾਂ ਤੋਂ "ਕਰਜ਼ਾ-ਤੋਂ-ਆਮਦਨ ਅਨੁਪਾਤ" ਵਿਸ਼ੇਸ਼ਤਾ ਤਿਆਰ ਕੀਤੀ ਹੈ। ਇਸ ਸਿੰਗਲ ਡੈਰੀਵੇਟ ਫੀਚਰ ਨੇ ਮਾਡਲ ਦੀ ਸ਼ੁੱਧਤਾ ਨੂੰ 71% ਤੋਂ 79% ਤੱਕ ਵਧਾ ਦਿੱਤਾ ਹੈ; ਕਿਉਂਕਿ ਇਹ ਦਰ ਸੀ, ਪੂਰੀ ਆਮਦਨ ਨਹੀਂ, ਜੋ ਅਸਲ ਵਿੱਚ ਜੋਖਮ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ। ਪਾਠ: ਡੋਮੇਨ ਗਿਆਨ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਅਨੁਪਾਤ ਮਜ਼ਬੂਤ ਸੰਕੇਤ ਹਨ।
ਕੇਸ 2 — ਟਾਰਗੇਟ ਏਨਕੋਡਿੰਗ ਲੀਕ। ਇੱਕ ਟੀਮ ਨੇ "ਜ਼ਿਪ ਕੋਡ" ਨੂੰ ਟਾਰਗੇਟ ਏਨਕੋਡਿੰਗ (ਉਸ ਖੇਤਰ ਵਿੱਚ ਔਸਤ ਮੰਥਨ ਦਰ) ਦੇ ਨਾਲ ਇੱਕ ਨੰਬਰ ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ, ਪਰ ਵੰਡਣ ਤੋਂ ਪਹਿਲਾਂ ਸਾਰੇ ਡੇਟਾ ਤੋਂ ਅਜਿਹਾ ਕੀਤਾ। ਮਾਡਲ ਨੇ ਟੈਸਟ ਸੈੱਟ 'ਤੇ 94% ਦਿੱਤਾ, ਉਤਪਾਦਨ ਵਿੱਚ ਘਟ ਕੇ 68% ਹੋ ਗਿਆ। 6 ਹਫ਼ਤੇ ਦੀ ਮਿਹਨਤ ਬਰਬਾਦ ਹੋ ਗਈ। ਪਾਠ: ਟੀਚਾ ਕੋਡਿੰਗ ਧਿਆਨ ਨਾਲ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਸਿਰਫ਼ ਸਿਖਲਾਈ ਦੇ ਅੰਦਰ।
ਕੇਸ 3 - ਸਕੇਲਿੰਗ ਭੁੱਲਣਾ। ਇੱਕ ਵਿਸ਼ਲੇਸ਼ਕ ਨੇ ਮਾਲੀਆ (0-400,000) ਅਤੇ ਗਾਹਕ ਦੀ ਉਮਰ (18-75) ਨੂੰ ਬਿਨਾਂ ਸਕੇਲਿੰਗ ਦੇ ਦੂਰੀ-ਅਧਾਰਿਤ ਮਾਡਲ ਵਿੱਚ ਦਿੱਤਾ। ਮਾਡਲ ਨੇ ਉਮਰ ਦੇ ਪ੍ਰਭਾਵ ਨੂੰ ਕੁਚਲਣ, ਆਮਦਨ 'ਤੇ ਲਗਭਗ ਵਿਸ਼ੇਸ਼ ਤੌਰ' ਤੇ ਦੇਖਿਆ. ਜਦੋਂ ਸਕੇਲਿੰਗ ਨੂੰ ਜੋੜਿਆ ਗਿਆ ਸੀ, ਤਾਂ ਵਿਭਾਜਨ ਅਰਥਪੂਰਨ ਬਣ ਗਿਆ ਸੀ। ਪਾਠ: ਦੂਰੀ/ਲੀਨੀਅਰ ਮਾਡਲਾਂ ਵਿੱਚ ਸਕੇਲਿੰਗ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਚਾਰ ਕਾਪੀ ਕਰਨ ਯੋਗ ਟੈਂਪਲੇਟ
1) ਵਿਸ਼ੇਸ਼ਤਾ ਵਿਚਾਰ ਪੈਦਾ ਕਰਨਾ (ਖਤਮ ਕਰਨਾ ਤੁਹਾਡੇ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ):
ਤੁਹਾਡੀ ਭੂਮਿਕਾ: ਵਿਸ਼ੇਸ਼ਤਾ ਇੰਜੀਨੀਅਰਿੰਗ ਸਹਾਇਕ। ਮੇਰੇ df ਕਾਲਮ: ਜਨਮ_ਤਾਰੀਖ, ਆਰਡਰ_ਟਾਈਮ (ਟਾਈਮਸਟੈਂਪ), ਆਮਦਨ_ਟੀਐਲ, ਕਰਜ਼ੇ_ਟੀਐਲ, ਸ਼ਹਿਰ, ਉਤਪਾਦ_ਸ਼੍ਰੇਣੀ। ਟੀਚਾ: "ਕੀ ਕਰਜ਼ਾ ਚੁਕਾਇਆ ਜਾਵੇਗਾ" (0/1)। 15 ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਸੁਝਾਅ ਦਿਓ ਜੋ ਇਹਨਾਂ ਕਾਲਮਾਂ ਤੋਂ ਤਿਆਰ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ; ਹਰੇਕ ਲਈ ਲੀਕੇਜ (ਘੱਟ/ਮੱਧਮ/ਉੱਚ) ਦੇ ਜੋਖਮ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰੋ। ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕਰੋ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਭਵਿੱਖ ਦੀ ਜਾਣਕਾਰੀ ਹੋਵੇ।
2) ਸੁਰੱਖਿਅਤ ਕੋਡਿੰਗ (ਪੋਸਟ-ਸਪਲਿਟ):
ਕੋਡ ਲਿਖੋ ਜੋ ਇੱਕ-ਹੌਟ "ਸ਼ਹਿਰ" ਅਤੇ "ਉਤਪਾਦ_ਸ਼੍ਰੇਣੀ" ਨੂੰ ਏਨਕੋਡ ਕਰਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ: ਏਨਕੋਡਿੰਗ ਨੂੰ ਸਿਰਫ਼ ਸਿਖਲਾਈ ਡੇਟਾ ਵਿੱਚ ਫਿੱਟ ਕਰੋ, ਫਿਰ ਟੈਸਟ ਡੇਟਾ ਨੂੰ ਬਦਲੋ (ਸਕਲੇਰਨ OneHotEncoder ਨਾਲ)। ਸਮਝਾਓ ਕਿ ਤੁਸੀਂ ਸਿੱਖਿਆ ਵਿੱਚ ਅਣਦੇਖੀ ਸ਼੍ਰੇਣੀ (ਹੈਂਡਲ_ਅਣਜਾਣ) ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦੇ ਹੋ।
3) ਪਾਈਪਲਾਈਨ ਨਾਲ ਲੀਕ-ਮੁਕਤ ਪਰਿਵਰਤਨ:
ਸਕਲਰਨ ਪਾਈਪਲਾਈਨ ਸੈਟ ਅਪ ਕਰੋ: ਸੰਖਿਆਤਮਕ ਕਾਲਮਾਂ 'ਤੇ ਸਟੈਂਡਰਡਸਕੇਲਰ, ਸ਼੍ਰੇਣੀਬੱਧ ਕਾਲਮਾਂ 'ਤੇ OneHotEncoder ਲਾਗੂ ਕਰੋ, ਅੰਤ 'ਤੇ ਇੱਕ ਵਰਗੀਕਰਣ ਸ਼ਾਮਲ ਕਰੋ। ਗਾਰੰਟੀ ਦਿਓ ਕਿ ਸਾਰੇ ਪਰਿਵਰਤਨ ਟ੍ਰੇਨ/ਟੈਸਟ ਸਪਲਿਟ ਤੋਂ ਬਾਅਦ ਅਤੇ ਸਿਰਫ ਸਿਖਲਾਈ ਤੋਂ ਸਿੱਖੇ ਜਾਂਦੇ ਹਨ। ਕੋਡ ਦੀ ਵਿਆਖਿਆ ਕਰੋ ਅਤੇ ਇਹ ਲੀਕ ਮੁਕਤ ਕਿਉਂ ਹੈ।
4) ਟਾਈਮ ਵਿੰਡੋ ਫੀਚਰ (ਲੀਕੇਜ ਕੰਟਰੋਲ):
ਹਰੇਕ ਗਾਹਕ ਲਈ "ਪਿਛਲੇ 30 ਦਿਨਾਂ ਵਿੱਚ ਆਰਡਰਾਂ ਦੀ ਸੰਖਿਆ" ਵਿਸ਼ੇਸ਼ਤਾ ਤਿਆਰ ਕਰੋ, ਪਰ ਪੂਰਵ ਅਨੁਮਾਨ ਦੇ ਦਿਨ ਤੋਂ ਬਾਅਦ ਕਦੇ ਵੀ ਡੇਟਾ ਸ਼ਾਮਲ ਨਾ ਕਰੋ। ਲਾਈਨ ਦਰ ਲਾਈਨ ਸਮਝਾਓ ਕਿ ਕੋਡ ਭਵਿੱਖ ਵਿੱਚ ਨਹੀਂ ਦੇਖਦਾ। ਮੈਂ ਹਵਾਲਾ ਮਿਤੀ ਕਾਲਮ ਪ੍ਰਦਾਨ ਕਰਾਂਗਾ।
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ / ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟ
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ:
ਇਸ ਡੇਟਾ ਵਿੱਚ ਚੰਗੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਕਰੋ।
"ਚੰਗਾ" ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ, ਟੀਚਾ ਅਸਪਸ਼ਟ ਹੈ, ਕੋਈ ਲੀਕੇਜ ਕੰਟਰੋਲ ਨਹੀਂ ਹੈ। AI ਬੇਤਰਤੀਬ, ਸ਼ਾਇਦ ਲੀਕ, ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਸ਼ਕਤੀਸ਼ਾਲੀ ਪ੍ਰਾਉਟ:
ਤੁਹਾਡੀ ਭੂਮਿਕਾ: ਵਿਸ਼ੇਸ਼ਤਾ ਇੰਜੀਨੀਅਰ। ਟੀਚਾ: "30 ਦਿਨਾਂ ਵਿੱਚ ਮੰਥਨ" (0/1), ਅਨੁਮਾਨਿਤ ਸੰਦਰਭ ਮਿਤੀ: save_date। df.Task ਵਿੱਚ ਲੈਣ-ਦੇਣ ਦਾ ਇਤਿਹਾਸ ਹੈ: 8 ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤਿਆਰ ਕਰੋ, ਹਰੇਕ ਲਈ "ਕੀ ਮੇਰੇ ਕੋਲ ਇਹ ਜਾਣਕਾਰੀ ਭਵਿੱਖਬਾਣੀ ਦੇ ਸਮੇਂ ਹੈ" ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿਓ। ਸਮਾਂ ਵਿੰਡੋ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚ ਸੰਦਰਭ ਮਿਤੀ ਤੋਂ ਬਾਅਦ ਮਿਤੀ ਜੋੜਨਾ। ਕੋਡ ਨੂੰ ਇੱਕ ਪਾਈਪਲਾਈਨ-ਅਨੁਕੂਲ ਤਰੀਕੇ ਨਾਲ ਲਿਖੋ ਜਿਸ ਨੂੰ ਟ੍ਰੇਨ/ਟੈਸਟ ਸੈਕਸ਼ਨ ਤੋਂ ਬਾਅਦ ਲਾਗੂ ਕੀਤਾ ਜਾਵੇਗਾ।
ਇੱਥੇ, ਟੀਚਾ, ਸੰਦਰਭ ਸਮਾਂ ਅਤੇ ਲੀਕੇਜ ਨਿਯੰਤਰਣ ਨੂੰ ਸ਼ੁਰੂ ਤੋਂ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ.
ਆਮ ਗਲਤੀਆਂ
- ਵੰਡ ਤੋਂ ਪਹਿਲਾਂ ਸਾਰੇ ਡੇਟਾ ਤੋਂ ਪਰਿਵਰਤਨ ਸਿੱਖਣਾ। ਜੇਕਰ ਸਕੇਲਿੰਗ/ਏਨਕੋਡਿੰਗ ਪੈਰਾਮੀਟਰ ਟੈਸਟ ਡੇਟਾ ਨੂੰ ਵੇਖਦਾ ਹੈ, ਤਾਂ ਲੀਕ ਹੁੰਦਾ ਹੈ।
- ਨਿਸ਼ਾਨਾ ਕੋਡਿੰਗ ਦੀ ਲਾਪਰਵਾਹੀ ਨਾਲ ਵਰਤੋਂ। ਇਹ ਸਭ ਤੋਂ ਸ਼ਕਤੀਸ਼ਾਲੀ ਪਰ ਸਭ ਤੋਂ ਵੱਧ ਲੀਕ ਵਾਲਾ ਤਰੀਕਾ ਹੈ; ਸਿਰਫ਼ ਸਿਖਲਾਈ ਤੋਂ, ਕਰਾਸ ਪ੍ਰਮਾਣਿਕਤਾ ਵਿੱਚ.
- ਸਮਾਂ ਵਿੰਡੋ ਵਿਸ਼ੇਸ਼ਤਾ ਨਾਲ ਭਵਿੱਖ ਨੂੰ ਜੋੜਨਾ। ਜੇਕਰ ਪੂਰਵ ਅਨੁਮਾਨ ਦੇ ਦਿਨ ਤੋਂ ਬਾਅਦ "ਆਖਰੀ 30 ਦਿਨਾਂ" ਦੀ ਗਣਨਾ ਦਰਜ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਮਾਡਲ ਭਵਿੱਖ ਨੂੰ ਦੇਖਦਾ ਹੈ।
- ਟ੍ਰੀ ਮਾਡਲ ਵਿੱਚ ਬੇਲੋੜੀ ਸਕੇਲਿੰਗ ਅਤੇ ਲੀਨੀਅਰ ਮਾਡਲ ਵਿੱਚ ਅਧੂਰੀ ਸਕੇਲਿੰਗ। ਸਕੇਲਿੰਗ ਫੈਸਲੇ ਮਾਡਲ ਕਿਸਮ ਦੇ ਅਨੁਸਾਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
- ਬਿਨਾਂ ਸਵਾਲ ਦੇ AI ਦੇ ਹਰ ਵਿਸ਼ੇਸ਼ਤਾ ਸੁਝਾਅ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ। ਸੁਝਾਵਾਂ ਵਿੱਚ ਬੇਕਾਰ ਅਤੇ ਲੀਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀਆਂ ਹਨ।
ਨੁਕਤਾ: ਤੁਹਾਡੇ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੀ ਹਰੇਕ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਇੱਕ ਸਿੰਗਲ ਪ੍ਰਸ਼ਨ ਲਿਖੋ: "ਕੀ ਮੈਂ ਭਵਿੱਖਬਾਣੀ ਕਰਨ ਵੇਲੇ ਮੇਰੇ ਕੋਲ ਮੌਜੂਦ ਜਾਣਕਾਰੀ ਨਾਲ ਇਸ ਮੁੱਲ ਦੀ ਗਣਨਾ ਕਰ ਸਕਦਾ ਹਾਂ?" ਜੇਕਰ ਜਵਾਬ ਸਪਸ਼ਟ "ਹਾਂ" ਨਹੀਂ ਹੈ, ਤਾਂ ਵਿਸ਼ੇਸ਼ਤਾ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰੋ। ਇਹ ਸਿੰਗਲ ਅਨੁਸ਼ਾਸਨ ਜ਼ਿਆਦਾਤਰ ਵਿਸ਼ੇਸ਼ਤਾ-ਸਬੰਧਤ ਲੀਕ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ।
ਸਾਰੰਸ਼ ਵਿੱਚ
ਵਿਸ਼ੇਸ਼ਤਾ ਇੰਜੀਨੀਅਰਿੰਗ ਕੱਚੇ ਡੇਟਾ ਤੋਂ ਅਰਥਪੂਰਨ ਸਿਗਨਲ ਬਣਾਉਣ ਦੀ ਕਲਾ ਹੈ ਅਤੇ ਅਕਸਰ ਐਲਗੋਰਿਦਮ ਨਾਲੋਂ ਮਾਡਲ ਦੀ ਸਫਲਤਾ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ। ਏਨਕੋਡਿੰਗ ਸ਼੍ਰੇਣੀਆਂ (ਇੱਕ-ਹੌਟ, ਲੇਬਲ, ਟੀਚਾ), ਸਕੇਲਿੰਗ ਸੰਖਿਆਵਾਂ (ਮਾਨਕੀਕਰਨ, ਸਧਾਰਣਕਰਨ) ਅਤੇ ਡੋਮੇਨ ਗਿਆਨ ਨਾਲ ਡੈਰੀਵੇਟਿਵ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਉਤਪਾਦਨ ਕਰਨਾ ਬੁਨਿਆਦੀ ਸਾਧਨ ਹਨ। ਪਰ ਇਹ ਪੜਾਅ ਲੀਕ ਦਾ ਦਿਲ ਵੀ ਹੈ: ਸਾਰੇ ਪਰਿਵਰਤਨ ਸਿਖਲਾਈ/ਟੈਸਟ ਸਪਲਿਟ ਤੋਂ ਬਾਅਦ ਅਤੇ ਸਿਰਫ ਸਿਖਲਾਈ ਡੇਟਾ ਤੋਂ ਸਿੱਖੇ ਜਾਣੇ ਚਾਹੀਦੇ ਹਨ। AI ਬਹੁਤ ਸਾਰੇ ਵਿਚਾਰ ਪੈਦਾ ਕਰਦਾ ਹੈ; ਇਹ ਮਨੁੱਖੀ ਨਿਰਣਾ ਹੈ ਜੋ ਕੀਮਤੀ ਨੂੰ ਖਤਰਨਾਕ ਤੋਂ ਵੱਖ ਕਰਦਾ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਕੰਮ
ਇੱਕ ਟੀਚਾ ਵੇਰੀਏਬਲ ਚੁਣੋ ਅਤੇ ਤੁਹਾਡੇ ਕੋਲ ਮੌਜੂਦ ਕਾਲਮਾਂ ਵਿੱਚੋਂ ਘੱਟੋ-ਘੱਟ ਪੰਜ ਡੈਰੀਵੇਟਿਵ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰੋ। ਉਹਨਾਂ ਵਿੱਚੋਂ ਹਰੇਕ ਲਈ, ਲਿਖਤੀ ਰੂਪ ਵਿੱਚ "ਕੀ ਮੈਂ ਪੂਰਵ-ਅਨੁਮਾਨ ਦੇ ਸਮੇਂ ਉਪਲਬਧ ਹਾਂ" ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਨੂੰ "ਲੀਕੇਜ ਦੇ ਉੱਚ ਜੋਖਮ" ਵਜੋਂ ਖਤਮ ਕਰੋ। ਫਿਰ ਵੰਡ ਤੋਂ ਬਾਅਦ ਲਾਗੂ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਪਾਈਪਲਾਈਨ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਕੋਡ ਕਰੋ।
ਚੈੱਕਲਿਸਟ
- ਕੀ ਮੈਂ ਟ੍ਰੇਨ/ਟੈਸਟ ਸਪਲਿਟ ਤੋਂ ਬਾਅਦ ਸਾਰੇ ਪਰਿਵਰਤਨ ਲਾਗੂ ਕੀਤੇ ਹਨ?
- ਕੀ ਮੈਂ ਸਿਖਲਾਈ ਤੋਂ ਸਿਰਫ਼ ਸਕੇਲਿੰਗ/ਏਨਕੋਡਿੰਗ ਪੈਰਾਮੀਟਰ ਹੀ ਸਿੱਖੇ ਹਨ?
- ਕੀ ਮੈਂ ਹਰੇਕ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ "ਕੀ ਇਹ ਮੇਰੇ ਕੋਲ ਭਵਿੱਖਬਾਣੀ ਦੇ ਸਮੇਂ ਹੈ" ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੱਤਾ ਹੈ?
- [ ] ਕੀ ਮੈਂ ਉੱਚ-ਜੋਖਮ ਵਾਲੇ ਤਰੀਕਿਆਂ ਜਿਵੇਂ ਕਿ ਟਾਰਗੇਟ ਕੋਡਿੰਗ ਲਈ ਵਾਧੂ ਦੇਖਭਾਲ ਕੀਤੀ ਹੈ?
- [ ] ਕੀ ਮੈਂ ਮਾਡਲ ਕਿਸਮ (ਰੁੱਖ/ਲੀਨੀਅਰ) ਲਈ ਉਚਿਤ ਢੰਗ ਨਾਲ ਸਕੇਲ ਕਰਨ ਦਾ ਫੈਸਲਾ ਕੀਤਾ ਹੈ?