ਲਾਭ:
- ਨੌਕਰੀ ਦੀ ਅਸਲ ਕੀਮਤ ਦੇ ਅਨੁਸਾਰ ਸਮੱਸਿਆ ਦੀ ਕਿਸਮ (ਵਰਗੀਕਰਨ, ਰਿਗਰੈਸ਼ਨ, ਕਲੱਸਟਰਿੰਗ) ਅਤੇ ਸਫਲਤਾ ਦੇ ਮਾਪਦੰਡ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
- ਡੇਟਾ ਨੂੰ ਇਮਾਨਦਾਰੀ ਨਾਲ ਵੰਡਣ ਦੀ ਸਮਰੱਥਾ (ਟੈਸਟ ਸੈੱਟ ਨੂੰ ਛੂਹਣ ਤੋਂ ਬਿਨਾਂ; ਸਮਾਂ ਲੜੀ ਵਿੱਚ ਕਾਲਕ੍ਰਮ ਅਨੁਸਾਰ) ਅਤੇ ਇੱਕ ਲੀਕ-ਮੁਕਤ ਮੁਲਾਂਕਣ ਅਧਾਰ ਸਥਾਪਤ ਕਰਨਾ
- ਇੱਕ ਸਧਾਰਨ ਬੇਸਲਾਈਨ ਨਾਲ ਸ਼ੁਰੂ ਕਰਕੇ ਅਤੇ ਜਟਿਲਤਾ ਨੂੰ ਜੋੜ ਕੇ ਇੱਕ ਵਿਆਖਿਆਯੋਗ ਮਾਡਲ ਚੁਣਨ ਦੀ ਸਮਰੱਥਾ ਜਦੋਂ ਇਹ ਇਸਦੇ ਹੱਕਦਾਰ ਹੋਵੇ।
ਹੁਣ ਤੱਕ ਅਸੀਂ ਡਾਟਾ ਇਕੱਠਾ ਕੀਤਾ ਹੈ, ਇਸਨੂੰ ਸਾਫ਼ ਕੀਤਾ ਹੈ, ਇਸਦੀ ਪੜਚੋਲ ਕੀਤੀ ਹੈ, ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤਿਆਰ ਕੀਤੀਆਂ ਹਨ। ਹੁਣ ਅਸੀਂ ਅਸਲ ਕੰਮ ਵੱਲ ਆਉਂਦੇ ਹਾਂ, ਇੱਕ ਮਾਡਲ ਬਣਾਉਣਾ. ਇੱਕ ਮਾਡਲ ਇੱਕ ਗਣਿਤਿਕ ਢਾਂਚਾ ਹੈ ਜੋ ਡੇਟਾ ਤੋਂ ਇੱਕ ਪੈਟਰਨ ਸਿੱਖਦਾ ਹੈ ਅਤੇ ਨਵੀਆਂ ਸਥਿਤੀਆਂ ਲਈ ਭਵਿੱਖਬਾਣੀਆਂ ਪੈਦਾ ਕਰਦਾ ਹੈ। ਪਰ ਇੱਕ ਮਾਡਲ ਬਣਾਉਣ ਦਾ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਾ ਖੁਦ ਕੋਡ ਨਹੀਂ ਹੈ, ਪਰ ਦੋ ਫੈਸਲੇ ਜੋ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਹਨ: ਸਹੀ ਸਮੱਸਿਆ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨਾ ਅਤੇ ਡੇਟਾ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਵੰਡਣਾ। AI ਐਲਗੋਰਿਦਮ ਚੋਣ, ਕੋਡ ਲਿਖਣ, ਅਤੇ ਪੈਰਾਮੀਟਰ ਟਿਊਨਿੰਗ ਵਿੱਚ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਸਲਾਹਕਾਰ ਹੈ; ਪਰ ਇਹ ਫੈਸਲਾ ਕਰਨਾ ਹੈ ਕਿ ਕੀ ਭਵਿੱਖਬਾਣੀ ਕਰਨੀ ਹੈ ਅਤੇ ਸਫਲਤਾ ਦਾ ਕੀ ਅਰਥ ਹੈ। ਇੱਕ ਗਲਤ-ਪ੍ਰਭਾਸ਼ਿਤ ਸਮੱਸਿਆ ਇੱਕ ਬਿਲਕੁਲ ਲਿਖਤੀ ਮਾਡਲ ਦੇ ਨਾਲ ਵੀ ਕੰਮ ਨਹੀਂ ਕਰੇਗੀ।
ਸਮੱਸਿਆ ਦੀ ਪਰਿਭਾਸ਼ਾ ਪਹਿਲਾਂ: ਅਸੀਂ ਕੀ ਭਵਿੱਖਬਾਣੀ ਕਰਦੇ ਹਾਂ
ਹਰ ਮਾਡਲਿੰਗ ਕੰਮ ਇੱਕ ਸਵਾਲ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਇਹ ਸਵਾਲ ਮਾਡਲ ਦੀ ਕਿਸਮ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ। ਵਰਗੀਕਰਨ — ਆਉਟਪੁੱਟ ਇੱਕ ਸ਼੍ਰੇਣੀ ਹੈ: "ਕੀ ਇਹ ਗਾਹਕ ਛੱਡੇਗਾ ਜਾਂ ਰਹੇਗਾ?", "ਕੀ ਇਹ ਲੈਣ-ਦੇਣ ਜਾਅਲੀ ਹੈ?"। ਰਿਗਰੈਸ਼ਨ (ਅੰਗਰੇਜ਼ੀ ਰਿਗਰੈਸ਼ਨ ਵਿੱਚ - ਆਉਟਪੁੱਟ ਇੱਕ ਨੰਬਰ ਹੈ): "ਇਸ ਘਰ ਦੀ ਕੀਮਤ ਕਿੰਨੀ ਹੈ?", "ਅਗਲੇ ਮਹੀਨੇ ਕਿੰਨੇ ਆਰਡਰ ਆਉਣਗੇ?"। ਕਲੱਸਟਰਿੰਗ (ਲੇਬਲ ਰਹਿਤ ਡੇਟਾ ਨੂੰ ਕੁਦਰਤੀ ਸਮੂਹਾਂ ਵਿੱਚ ਵੰਡਣਾ): "ਮੇਰੇ ਗਾਹਕ ਕਿੰਨੇ ਕੁਦਰਤੀ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡੇ ਹੋਏ ਹਨ?"।
ਸਮੱਸਿਆ ਬਿਆਨ ਦਾ ਦੂਜਾ ਹਿੱਸਾ ਸਫਲਤਾ ਦਾ ਮਾਪਦੰਡ ਹੈ: ਇਸ ਮਾਡਲ ਲਈ "ਚੰਗਾ" ਹੋਣ ਦਾ ਕੀ ਮਤਲਬ ਹੈ? ਇੱਕ ਧੋਖਾਧੜੀ ਦੇ ਮਾਡਲ ਵਿੱਚ, ਇੱਕ ਧੋਖੇਬਾਜ਼ ਨੂੰ ਗੁਆਉਣਾ ਇੱਕ ਇਮਾਨਦਾਰ ਗਾਹਕ ਨੂੰ ਅਚਾਨਕ ਬਲੌਕ ਕਰਨ ਨਾਲੋਂ ਬਹੁਤ ਮਹਿੰਗਾ ਹੈ; ਇਸ ਲਈ, "ਆਮ ਸ਼ੁੱਧਤਾ" ਨਹੀਂ ਬਲਕਿ "ਧੋਖੇਬਾਜ਼ਾਂ ਨੂੰ ਫੜਨ ਦੀ ਦਰ" ਸਾਹਮਣੇ ਆਉਂਦੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਕਾਰੋਬਾਰ ਦੇ ਮਾਲਕ ਦੇ ਨਾਲ, ਸ਼ੁਰੂਆਤ ਤੋਂ ਇਸ ਮਾਪਦੰਡ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇੱਕ "ਬਹੁਤ ਸਟੀਕ" ਮਾਡਲ ਦੇ ਨਾਲ ਖਤਮ ਹੋਵੋਗੇ ਜੋ ਕੰਮ ਨਹੀਂ ਕਰਦਾ ਹੈ (ਅਸੀਂ ਯੂਨਿਟ 7 ਵਿੱਚ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਡੂੰਘਾਈ ਵਿੱਚ ਜਾਵਾਂਗੇ)।
ਸਾਵਧਾਨ: "ਸ਼ੁੱਧਤਾ" ਗੁੰਮਰਾਹਕੁੰਨ ਹੋ ਸਕਦੀ ਹੈ। ਜੇਕਰ 1000 ਵਿੱਚੋਂ 10 ਲੈਣ-ਦੇਣ ਧੋਖਾਧੜੀ ਵਾਲੇ ਹਨ, ਤਾਂ ਇੱਕ ਮੂਰਖ ਮਾਡਲ ਜੋ ਕਹਿੰਦਾ ਹੈ ਕਿ "ਕੋਈ ਵੀ ਧੋਖਾਧੜੀ ਨਹੀਂ ਹੈ" 99% ਸ਼ੁੱਧਤਾ ਦੇਵੇਗਾ ਪਰ ਇੱਕ ਵੀ ਧੋਖੇਬਾਜ਼ ਨੂੰ ਨਹੀਂ ਫੜੇਗਾ। ਸਮੱਸਿਆ ਦੀ ਅਸਲ ਲਾਗਤ ਦੇ ਆਧਾਰ 'ਤੇ ਸਫਲਤਾ ਦੇ ਮਾਪਦੰਡ ਚੁਣੋ।
ਸਿਖਲਾਈ/ਟੈਸਟ ਸਪਲਿਟਿੰਗ: ਮਾਡਲ ਦੀ ਇਮਾਨਦਾਰ ਪ੍ਰੀਖਿਆ
ਇਸ ਦੁਆਰਾ ਸਿੱਖੇ ਗਏ ਡੇਟਾ ਦੇ ਨਾਲ ਇੱਕ ਮਾਡਲ ਦੀ ਜਾਂਚ ਕਰਨਾ ਵਿਦਿਆਰਥੀ ਨੂੰ ਉਹੀ ਪ੍ਰਸ਼ਨ ਪੁੱਛਣ ਵਰਗਾ ਹੈ ਜੋ ਉਸਨੇ ਪ੍ਰੀਖਿਆ ਵਿੱਚ ਪੜ੍ਹਿਆ ਸੀ; ਉਹ ਉੱਚੇ ਅੰਕ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਪਰ ਇਹ ਨਹੀਂ ਦਰਸਾਉਂਦਾ ਕਿ ਉਹ ਅਸਲ ਵਿੱਚ ਕੀ ਜਾਣਦਾ ਹੈ। ਇਸ ਲਈ ਅਸੀਂ ਡੇਟਾ ਨੂੰ ਦੋ (ਅਕਸਰ ਤਿੰਨ) ਵਿੱਚ ਵੰਡਦੇ ਹਾਂ:
- ਸਿਖਲਾਈ ਸੈੱਟ (ਅੰਗਰੇਜ਼ੀ ਵਿੱਚ ਸਿਖਲਾਈ ਸੈੱਟ, ਆਮ ਤੌਰ 'ਤੇ 70-80%): ਮਾਡਲ ਇਸ 'ਤੇ ਸਿੱਖਦਾ ਹੈ।
- ਟੈਸਟ ਸੈੱਟ (ਟੈਸਟ ਸੈੱਟ, ਆਮ ਤੌਰ 'ਤੇ 20-30%): ਮਾਡਲ ਇਸ ਨੂੰ ਬਿਲਕੁਲ ਨਹੀਂ ਦੇਖਦਾ; ਅਸਲ ਕਾਰਗੁਜ਼ਾਰੀ ਇੱਥੇ ਮਾਪੀ ਜਾਂਦੀ ਹੈ।
- ਪ੍ਰਮਾਣਿਕਤਾ ਸੈੱਟ: ਮਾਡਲ ਸੈਟਿੰਗ ਲਈ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਇੰਟਰਮੀਡੀਏਟ ਸੈੱਟ (ਕਿਹੜਾ ਪੈਰਾਮੀਟਰ ਬਿਹਤਰ ਹੈ); ਟੈਸਟ ਸੈੱਟ ਨੂੰ "ਸਾਫ਼" ਰੱਖਣ ਲਈ।
ਸਭ ਤੋਂ ਬੁਨਿਆਦੀ ਨਿਯਮ: ਸਿਖਲਾਈ ਦੇ ਦੌਰਾਨ ਟੈਸਟ ਸੈੱਟ ਨੂੰ ਕਦੇ ਵੀ ਛੂਹਿਆ ਨਹੀਂ ਜਾਂਦਾ ਹੈ। ਸਕੇਲਿੰਗ, ਕੋਡਿੰਗ, ਵਿਸ਼ੇਸ਼ਤਾ ਚੋਣ — ਇਹ ਸਭ ਸਿਰਫ਼ ਸਿਖਲਾਈ ਸੈੱਟ ਤੋਂ ਸਿੱਖੇ ਜਾਂਦੇ ਹਨ, ਫਿਰ ਟੈਸਟਿੰਗ ਲਈ ਲਾਗੂ ਹੁੰਦੇ ਹਨ (ਯੂਨਿਟ 5 ਤੋਂ ਲੀਕੇਜ ਸਿਧਾਂਤ)। ਟੈਸਟ ਸੈੱਟ ਪਹਿਲੀ ਵਾਰ ਹੈ ਜਦੋਂ ਮਾਡਲ ਅਸਲ ਸੰਸਾਰ ਨੂੰ ਦੇਖਦਾ ਹੈ; ਜੇਕਰ ਤੁਸੀਂ ਇਸਨੂੰ ਬਹੁਤ ਜਲਦੀ ਚਾਲੂ ਕਰਦੇ ਹੋ ਤਾਂ ਤੁਹਾਨੂੰ ਕਦੇ ਵੀ ਸਹੀ ਪ੍ਰਦਰਸ਼ਨ ਦਾ ਪਤਾ ਨਹੀਂ ਲੱਗੇਗਾ।
ਸਮਾਂ ਲੜੀ ਅਪਵਾਦ: ਜੇਕਰ ਤੁਹਾਡਾ ਡੇਟਾ ਸਮੇਂ 'ਤੇ ਨਿਰਭਰ ਹੈ (ਵਿਕਰੀ, ਸਟਾਕ ਮਾਰਕੀਟ, ਮੰਗ), ਤਾਂ ਬੇਤਰਤੀਬ ਵੰਡ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ। ਕਿਉਂਕਿ ਬੇਤਰਤੀਬ ਵਿਭਾਜਨ ਮਾਡਲ ਨੂੰ ਭਵਿੱਖ ਨੂੰ ਵੇਖਣ ਅਤੇ ਅਤੀਤ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰਨ ਦਾ ਕਾਰਨ ਬਣਦਾ ਹੈ - ਇਹ ਲੀਕ ਹੈ। ਇਸ ਦੀ ਬਜਾਏ, ਕਾਲਕ੍ਰਮ ਅਨੁਸਾਰ ਵੰਡੋ: ਪੁਰਾਣੇ ਸਮੇਂ ਨਾਲ ਟ੍ਰੇਨ ਕਰੋ, ਨਵੀਂ ਮਿਆਦ ਦੇ ਨਾਲ ਟੈਸਟ ਕਰੋ।
ਐਲਗੋਰਿਦਮ ਚੋਣ: ਸਧਾਰਨ ਤੋਂ ਗੁੰਝਲਦਾਰ ਤੱਕ
ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਦੀ ਸਭ ਤੋਂ ਆਮ ਗਲਤੀ ਸਭ ਤੋਂ ਗੁੰਝਲਦਾਰ ਮਾਡਲ ਨਾਲ ਸ਼ੁਰੂ ਕਰਨਾ ਹੈ। ਸਹੀ ਪਹੁੰਚ ਉਲਟ ਹੈ: ਪਹਿਲਾਂ ਇੱਕ ਸਧਾਰਨ ਬੇਸਲਾਈਨ ਸਥਾਪਿਤ ਕਰੋ। ਇੱਕ ਵਰਗੀਕਰਨ ਵਿੱਚ "ਹਮੇਸ਼ਾ ਬਹੁਗਿਣਤੀ ਵਰਗ ਦਾ ਅਨੁਮਾਨ ਲਗਾਓ"; ਰਿਗਰੈਸ਼ਨ ਵਿੱਚ "ਹਮੇਸ਼ਾ ਮਤਲਬ ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾਓ"। ਇਹ ਮੂਰਖ ਮਾਡਲ ਇੱਕ ਬੇਸਲਾਈਨ ਦਿੰਦਾ ਹੈ; ਜੇਕਰ ਤੁਹਾਡਾ ਅਸਲ ਮਾਡਲ ਇਸਨੂੰ ਪਾਸ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਤਾਂ ਇੱਕ ਸਮੱਸਿਆ ਹੈ। ਫਿਰ ਸਧਾਰਨ ਅਤੇ ਵਿਆਖਿਆਯੋਗ ਮਾਡਲਾਂ 'ਤੇ ਜਾਓ।
ਮਾਡਲ
ਸਮੱਸਿਆ ਦੀ ਕਿਸਮ
ਮਜ਼ਬੂਤ ਬਿੰਦੂ
ਕਮਜ਼ੋਰੀ
ਬੇਸਲਾਈਨ (ਬਹੁਮਤ/ਔਸਤ)
ਦੋਵੇਂ
ਬੈਂਚਮਾਰਕ ਦਿੰਦਾ ਹੈ
ਸਿੱਖਦਾ ਨਹੀਂ ਹੈ
ਲੌਜਿਸਟਿਕ ਰਿਗਰੈਸ਼ਨ
ਵਰਗੀਕਰਨ
ਸਰਲ, ਵਿਆਖਿਆਯੋਗ
ਸਿਰਫ਼ ਰੇਖਿਕ ਸਬੰਧ
ਰੇਖਿਕ ਰਿਗਰੈਸ਼ਨ
ਰਿਗਰੈਸ਼ਨ
ਸਧਾਰਨ, ਤੇਜ਼
ਰੇਖਿਕ ਧਾਰਨਾ
ਫੈਸਲੇ ਦਾ ਰੁੱਖ
ਦੋਵੇਂ
ਵਿਆਖਿਆਯੋਗ
ਆਸਾਨ ਯਾਦ
ਬੇਤਰਤੀਬ ਜੰਗਲ
ਦੋਵੇਂ
ਮਜ਼ਬੂਤ, ਟਿਕਾਊ
ਘੱਟ ਵਿਆਖਿਆਯੋਗ
ਗਰੇਡੀਐਂਟ ਬੂਸਟਿੰਗ (XGBoost ਆਦਿ)
ਦੋਵੇਂ
ਬਹੁਤ ਮਜ਼ਬੂਤ
ਅਡਜਸਟ ਕਰਨ ਵਿੱਚ ਮੁਸ਼ਕਲ, ਯਾਦ ਰੱਖਣ ਦਾ ਜੋਖਮ
ਨਿਯਮ: ਸਧਾਰਨ "ਕਾਫ਼ੀ ਚੰਗਾ" ਮਾਡਲ ਚੁਣੋ। ਜ਼ਿਆਦਾਤਰ ਵਪਾਰਕ ਸੰਦਰਭਾਂ ਵਿੱਚ ਵਿਆਖਿਆ ਸ਼ਕਤੀ ਸ਼ਕਤੀ ਨਾਲੋਂ ਵਧੇਰੇ ਕੀਮਤੀ ਹੈ; ਕਰਜ਼ੇ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰਨ ਦੀ ਵਿਆਖਿਆ ਕਰਨਾ ਬਿਹਤਰ ਹੈ "ਕਿਉਂਕਿ ਤੁਹਾਡਾ ਕਰਜ਼ਾ-ਤੋਂ-ਆਮਦਨ ਅਨੁਪਾਤ ਉੱਚਾ ਹੈ" ਨਾਲੋਂ "ਕਿਉਂਕਿ ਬਲੈਕ ਬਾਕਸ ਨੇ ਅਜਿਹਾ ਕਿਹਾ ਹੈ।"
ਤਿੰਨ ਛੋਟੇ ਕੇਸ
ਕੇਸ 1 - ਗਲਤ ਸਮੱਸਿਆ ਪਰਿਭਾਸ਼ਾ। ਇੱਕ ਟੀਮ ਨੇ "ਗਾਹਕ ਸੰਤੁਸ਼ਟ ਹੈ" ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ ਵਰਗੀਕਰਨ ਮਾਡਲ ਬਣਾਇਆ ਪਰ ਸਫਲਤਾ ਦੇ ਮਾਪਦੰਡ ਵਜੋਂ "ਸ਼ੁੱਧਤਾ" ਨੂੰ ਚੁਣਿਆ। ਡੇਟਾ ਵਿੱਚ, 88% ਗਾਹਕ ਸੰਤੁਸ਼ਟ ਸਨ; ਮਾਡਲ ਨੇ ਹਰ ਕਿਸੇ ਨੂੰ "ਸੰਤੁਸ਼ਟ" ਕਹਿ ਕੇ 88% ਸ਼ੁੱਧਤਾ ਪ੍ਰਾਪਤ ਕੀਤੀ ਅਤੇ ਕਦੇ ਵੀ ਅਸੰਤੁਸ਼ਟ ਲੋਕਾਂ ਨੂੰ ਨਹੀਂ ਫੜਿਆ — ਭਾਵੇਂ ਅਸਲ ਟੀਚਾ ਉਨ੍ਹਾਂ ਨੂੰ ਲੱਭਣਾ ਸੀ। ਸਬਕ: ਅਸਲ ਮਕਸਦ ਦੇ ਆਧਾਰ 'ਤੇ ਸਫਲਤਾ ਦੇ ਮਾਪਦੰਡ ਚੁਣੋ।
ਕੇਸ 2 - ਡੱਬੇ ਵਿੱਚ ਸਮਾਂ ਲੀਕ। ਇੱਕ ਮੰਗ ਪੂਰਵ ਅਨੁਮਾਨ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ, ਡੇਟਾ ਬੇਤਰਤੀਬੇ ਵੰਡਿਆ ਗਿਆ ਸੀ। ਮਾਡਲ ਨੇ 93% ਸ਼ੁੱਧਤਾ ਦਿੱਤੀ ਪਰ ਉਤਪਾਦਨ ਵਿੱਚ ਕ੍ਰੈਸ਼ ਹੋ ਗਿਆ ਕਿਉਂਕਿ ਸਿਖਲਾਈ ਵਿੱਚ ਇਸਨੇ ਦਸੰਬਰ ਦੇ ਅੰਕੜਿਆਂ ਦੇ ਨਾਲ ਜਨਵਰੀ, ਫਿਰ ਨਵੰਬਰ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕੀਤੀ ਸੀ - ਇਸਨੇ ਭਵਿੱਖ ਦੇਖਿਆ ਸੀ। ਜਦੋਂ ਅਸੀਂ ਕਾਲਕ੍ਰਮਿਕ ਵਿਭਾਜਨ 'ਤੇ ਸਵਿਚ ਕੀਤਾ, ਅਸਲ ਪ੍ਰਦਰਸ਼ਨ 74% ਤੱਕ ਵਧ ਗਿਆ। ਪਾਠ: ਸਮਾਂ ਲੜੀ ਵਿੱਚ ਕਾਲਕ੍ਰਮਿਕ ਵੰਡ।
ਕੇਸ 3 - ਬੇਲੋੜੀ ਜਟਿਲਤਾ। ਇੱਕ ਵਿਸ਼ਲੇਸ਼ਕ ਨੇ ਇੱਕ ਡੂੰਘੇ ਤੰਤੂ ਨੈੱਟਵਰਕ ਨਾਲ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਸ਼ੁਰੂਆਤ ਕੀਤੀ, ਇਸਨੂੰ ਹਫ਼ਤਿਆਂ ਲਈ ਟਿਊਨ ਕੀਤਾ, ਅਤੇ 81% ਸ਼ੁੱਧਤਾ ਪ੍ਰਾਪਤ ਕੀਤੀ। ਫਿਰ ਇੱਕ ਸਹਿਕਰਮੀ ਨੂੰ 20 ਲਾਈਨਾਂ ਲੌਜਿਸਟਿਕ ਰੀਗਰੈਸ਼ਨ ਦੇ ਨਾਲ 80% ਪ੍ਰਾਪਤ ਹੋਏ - ਬਹੁਤ ਤੇਜ਼, ਵਿਆਖਿਆਯੋਗ ਅਤੇ ਬਰਕਰਾਰ ਰੱਖਣ ਵਿੱਚ ਆਸਾਨ। ਪਾਠ: ਇੱਕ ਬੇਸਲਾਈਨ ਅਤੇ ਇੱਕ ਸਧਾਰਨ ਮਾਡਲ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ, ਜਦੋਂ ਇਹ ਇਸਦੇ ਹੱਕਦਾਰ ਹੋਵੇ ਤਾਂ ਜਟਿਲਤਾ ਜੋੜੋ।
ਚਾਰ ਕਾਪੀ ਕਰਨ ਯੋਗ ਟੈਂਪਲੇਟ
1) ਸਮੱਸਿਆ ਦੀ ਪਰਿਭਾਸ਼ਾ ਨੂੰ ਸਪਸ਼ਟ ਕਰਨਾ:
ਤੁਹਾਡੀ ਭੂਮਿਕਾ: ਮਾਡਲਿੰਗ ਸਲਾਹਕਾਰ। ਇਸ ਨੌਕਰੀ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਵਿੱਚ ਮੇਰੀ ਮਦਦ ਕਰੋ: "ਮੈਂ ਗਾਹਕਾਂ ਨੂੰ ਘਟਾਉਣਾ ਚਾਹੁੰਦਾ ਹਾਂ।" ਮੈਨੂੰ ਪੁੱਛੋ ਅਤੇ ਸਪਸ਼ਟ ਕਰੋ: (1) ਕੀ ਇਹ ਵਰਗੀਕਰਨ ਜਾਂ ਰਿਗਰੈਸ਼ਨ ਹੈ, (2) ਟੀਚਾ ਵੇਰੀਏਬਲ ਕੀ ਹੈ ਅਤੇ ਇਸਨੂੰ ਕਿਵੇਂ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, (3) ਸਫਲਤਾ ਦੇ ਮਾਪਦੰਡ ਕੀ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ ਅਤੇ ਕਿਉਂ। ਫੈਸਲਾ ਮੇਰਾ ਹੈ; ਤੁਸੀਂ ਸਵਾਲ ਅਤੇ ਵਿਕਲਪ ਪੇਸ਼ ਕਰਦੇ ਹੋ।
2) ਸੁਰੱਖਿਅਤ ਸਿਖਲਾਈ/ਟੈਸਟ ਡੱਬਾ:
ਮੇਰੇ df ਨੂੰ ਸਿਖਲਾਈ/ਟੈਸਟਿੰਗ 80%/20% ਵਿੱਚ ਵੰਡੋ। ਸ਼੍ਰੇਣੀ ਦੀ ਵੰਡ ਨੂੰ ਬਣਾਈ ਰੱਖੋ (ਸਤਰੀਕਰਨ). random_state=42. ਇਹ ਟਾਈਮ ਸੀਰੀਜ਼ (ਸੁਤੰਤਰ ਨਿਰੀਖਣ) ਨਹੀਂ ਹੈ। ਵੰਡ ਤੋਂ ਬਾਅਦ ਹਰੇਕ ਸੈੱਟ ਦਾ ਵਰਗ ਅਨੁਪਾਤ ਛਾਪੋ। ਬਿਨਾਂ ਕਿਸੇ ਪਰਿਵਰਤਨ ਨੂੰ ਲਾਗੂ ਕੀਤੇ ਟੈਸਟ ਸੈੱਟ ਨੂੰ ਵੰਡਣ ਵਾਲਾ ਕੋਡ ਦਿਓ।
3) ਸਮਾਂ ਲੜੀ ਕਾਲਕ੍ਰਮਿਕ ਵੰਡ:
ਡੇਟਾ ਸਮਾਂ ਨਿਰਭਰ ਹੈ (ਤਾਰੀਖ ਕਾਲਮ: ਆਰਡਰ_ਡੇਟ)। ਬੇਤਰਤੀਬੇ ਨਹੀਂ, ਕਾਲਕ੍ਰਮ ਅਨੁਸਾਰ ਵੰਡੋ: ਸਭ ਤੋਂ ਪੁਰਾਣੀ 80% ਸਿਖਲਾਈ, ਸਭ ਤੋਂ ਨਵੀਂ 20% ਜਾਂਚ। ਸਿਖਲਾਈ ਅਤੇ ਟੈਸਟਿੰਗ ਮਿਤੀ ਰੇਂਜਾਂ ਨੂੰ ਛਾਪੋ ਤਾਂ ਜੋ ਮੈਂ ਪੁਸ਼ਟੀ ਕਰ ਸਕਾਂ ਕਿ ਭਵਿੱਖ ਲੀਕ ਨਹੀਂ ਹੋਇਆ ਹੈ।
4) ਬੇਸਲਾਈਨ ਸੈੱਟ ਕਰਨਾ:
ਮੇਰੇ ਕੋਲ ਇੱਕ ਵਰਗੀਕਰਨ ਸਮੱਸਿਆ ਹੈ (ਨਿਸ਼ਾਨਾ: ਮੰਥਨ 0/1)। ਪਹਿਲਾਂ ਇੱਕ ਬੇਸਲਾਈਨ ਸਥਾਪਿਤ ਕਰੋ: ਡਮੀ ਕਲਾਸੀਫਾਇਰ ਨਾਲ ਸਿਖਲਾਈ/ਟੈਸਟਿੰਗ ਸ਼ੁੱਧਤਾ ਨੂੰ ਮਾਪੋ, ਜੋ ਹਮੇਸ਼ਾ ਬਹੁਗਿਣਤੀ ਵਰਗ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰਦਾ ਹੈ। ਫਿਰ ਇੱਕ ਸਧਾਰਨ ਲੌਜਿਸਟਿਕ ਰਿਗਰੈਸ਼ਨ ਨੂੰ ਸਿਖਲਾਈ ਦਿਓ ਅਤੇ ਤੁਲਨਾ ਕਰੋ ਕਿ ਕੀ ਇਹ ਬੇਸਲਾਈਨ ਨੂੰ ਹਰਾਉਂਦਾ ਹੈ. ਦੋਵੇਂ ਪਾਸੇ ਦੇ ਮਾਪਦੰਡ ਦਿਖਾਓ।
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ / ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟ
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ:
ਇਸ ਡੇਟਾ ਨਾਲ ਵਧੀਆ ਮਾਡਲ ਬਣਾਓ।
"ਸਭ ਤੋਂ ਵਧੀਆ" ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ; ਕੋਈ ਸਮੱਸਿਆ ਦੀ ਕਿਸਮ ਨਹੀਂ ਹੈ, ਕੋਈ ਟੀਚਾ ਨਹੀਂ ਹੈ, ਸਫਲਤਾ ਦਾ ਕੋਈ ਮਾਪਦੰਡ ਨਹੀਂ ਹੈ ਅਤੇ ਕੋਈ ਵੰਡ ਰਣਨੀਤੀ ਨਹੀਂ ਹੈ। AI ਇੱਕ ਬੇਤਰਤੀਬ ਪੈਟਰਨ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਸੰਭਵ ਤੌਰ 'ਤੇ ਲੀਕ.
ਸ਼ਕਤੀਸ਼ਾਲੀ ਪ੍ਰਾਉਟ:
ਤੁਹਾਡੀ ਭੂਮਿਕਾ: ਮਾਡਲਿੰਗ ਸਹਾਇਕ। ਸਮੱਸਿਆ: ਵਰਗੀਕਰਨ, ਟੀਚਾ "ਮੰਥਨ" (0/1), ਕਲਾਸ ਅਸੰਤੁਲਨ ਹੈ (~12% ਮੰਥਨ)। ਸਫਲਤਾ ਦਾ ਮਾਪਦੰਡ: ਮੰਥਨ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਯਾਦ ਕਰਨਾ ਇੱਕ ਤਰਜੀਹ ਹੈ। ਡਾਟਾ ਸੁਤੰਤਰ ਨਿਰੀਖਣ (ਸਮਾਂ ਲੜੀ ਨਹੀਂ)। ਟਾਸਕ: (1) 80/20% ਪੱਧਰੀ ਵੰਡ, (2) ਡੰਮੀ ਕਲਾਸੀਫਾਇਰ ਬੇਸਲਾਈਨ, (3) ਲੌਜਿਸਟਿਕ ਰਿਗਰੈਸ਼ਨ, ਪਾਈਪਲਾਈਨ ਵਿੱਚ ਸਾਰੇ ਪਰਿਵਰਤਨ ਅਤੇ ਸਿਰਫ ਸਿਖਲਾਈ ਤੋਂ ਸਿੱਖਿਆ। ਵੰਡਣ ਤੋਂ ਪਹਿਲਾਂ ਟੈਸਟ ਸੈੱਟ ਨੂੰ ਨਾ ਛੂਹੋ।
ਇੱਥੇ ਸਮੱਸਿਆ ਦੀ ਕਿਸਮ, ਅਸੰਤੁਲਨ, ਮਾਪਦੰਡ ਅਤੇ ਲੀਕੇਜ ਮਾਪ ਸਪੱਸ਼ਟ ਹਨ।
ਆਮ ਗਲਤੀਆਂ
- ਅਸਲ ਉਦੇਸ਼ ਦੇ ਅਨੁਸਾਰ ਸਫਲਤਾ ਦੇ ਮਾਪਦੰਡਾਂ ਦੀ ਚੋਣ ਨਾ ਕਰਨਾ. ਅਸੰਤੁਲਿਤ ਡੇਟਾ ਵਿੱਚ "ਸ਼ੁੱਧਤਾ" ਗੁੰਮਰਾਹਕੁੰਨ ਹੈ; ਘੱਟ-ਗਿਣਤੀ ਵਰਗ 'ਤੇ ਕਬਜ਼ਾ ਕਰਨਾ ਹੋਵੇ ਤਾਂ ਯਾਦ ਆ ਜਾਂਦੀ ਹੈ।
- ਸਿਖਲਾਈ ਦੌਰਾਨ ਟੈਸਟ ਸੈੱਟ ਨੂੰ ਛੂਹਣਾ. ਵੰਡਣ ਤੋਂ ਪਹਿਲਾਂ ਸਕੇਲਿੰਗ/ਏਨਕੋਡਿੰਗ ਕਰਨਾ ਲੀਕ ਹੈ ਅਤੇ ਅਸਲ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਲੁਕਾਉਂਦਾ ਹੈ।
- ਸਮਾਂ ਲੜੀ ਵਿੱਚ ਬੇਤਰਤੀਬ ਵੰਡ। ਮਾਡਲ ਭਵਿੱਖ ਨੂੰ ਦੇਖਦਾ ਹੈ, ਉਤਪਾਦਨ ਵਿੱਚ ਢਹਿ ਜਾਂਦਾ ਹੈ; ਕਾਲਕ੍ਰਮਿਕ ਵੰਡ ਜ਼ਰੂਰੀ ਹੈ।
- ਬੇਸਲਾਈਨ ਸਥਾਪਤ ਕੀਤੇ ਬਿਨਾਂ ਇੱਕ ਗੁੰਝਲਦਾਰ ਮਾਡਲ ਵਿੱਚ ਛਾਲ ਮਾਰਨਾ। ਬੈਂਚਮਾਰਕ ਤੋਂ ਬਿਨਾਂ ਤੁਸੀਂ ਇਹ ਨਹੀਂ ਜਾਣ ਸਕਦੇ ਕਿ ਕੀ ਕੋਈ ਮਾਡਲ ਅਸਲ ਵਿੱਚ ਵਧੀਆ ਹੈ ਜਾਂ ਨਹੀਂ।
- ਵਿਆਖਿਆਯੋਗਤਾ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨਾ। ਵਪਾਰਕ ਫੈਸਲਿਆਂ ਵਿੱਚ, ਇੱਕ ਸਧਾਰਨ ਵਿਆਖਿਆਯੋਗ ਮਾਡਲ ਅਕਸਰ ਇੱਕ ਬਲੈਕ ਬਾਕਸ ਨਾਲੋਂ ਵਧੇਰੇ ਕੀਮਤੀ ਹੁੰਦਾ ਹੈ।
ਸੁਝਾਅ: ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਤੁਸੀਂ ਇੱਕ ਮਾਡਲ ਬਣਾਉਣਾ ਸ਼ੁਰੂ ਕਰੋ, ਇੱਕ ਵਾਕ ਲਿਖੋ: "ਇਹ ਮਾਡਲ _____ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰੇਗਾ, ਇਸਦੀ ਸਫਲਤਾ ਮੈਟ੍ਰਿਕ _____ ਦੁਆਰਾ ਮਾਪੀ ਜਾਵੇਗੀ, ਕਿਉਂਕਿ ਨੌਕਰੀ ਦੀ ਅਸਲ ਕੀਮਤ _____ ਹੈ।" ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਵਾਕ ਨੂੰ ਨਹੀਂ ਭਰ ਸਕਦੇ, ਤਾਂ ਤੁਸੀਂ ਅਜੇ ਕੋਡ ਲਿਖਣ ਲਈ ਤਿਆਰ ਨਹੀਂ ਹੋ।
ਸੰਖੇਪ ਵਿੱਚ
ਇੱਕ ਮਾਡਲ ਬਣਾਉਣ ਦਾ ਸਭ ਤੋਂ ਨਾਜ਼ੁਕ ਹਿੱਸਾ ਕੋਡ ਨਹੀਂ ਹੈ, ਪਰ ਫੈਸਲੇ ਜੋ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਹਨ: ਸਹੀ ਸਮੱਸਿਆ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨਾ (ਵਰਗੀਕਰਨ ਜਾਂ ਰਿਗਰੈਸ਼ਨ, ਟੀਚਾ ਕੀ ਹੈ, ਸਫਲਤਾ ਦਾ ਮਾਪਦੰਡ ਕੀ ਹੈ) ਅਤੇ ਡੇਟਾ ਨੂੰ ਨਿਰਪੱਖ ਢੰਗ ਨਾਲ ਵੰਡਣਾ (ਟੈਸਟ ਸੈੱਟ ਨੂੰ ਛੂਹਣ ਤੋਂ ਬਿਨਾਂ; ਸਮਾਂ ਲੜੀ ਵਿੱਚ ਕਾਲਕ੍ਰਮਿਕ)। ਹਮੇਸ਼ਾ ਇੱਕ ਸਧਾਰਨ ਬੇਸਲਾਈਨ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਜਟਿਲਤਾ ਉਦੋਂ ਹੀ ਜੋੜੋ ਜਦੋਂ ਇਹ ਇਸਦੇ ਹੱਕਦਾਰ ਹੋਵੇ; ਜ਼ਿਆਦਾਤਰ ਵਪਾਰਕ ਸੰਦਰਭਾਂ ਵਿੱਚ ਵਿਆਖਿਆ ਦੀ ਸ਼ਕਤੀ ਦੀ ਕੀਮਤ ਹੈ। AI ਐਲਗੋਰਿਦਮ ਚੋਣ ਅਤੇ ਕੋਡ ਵਿੱਚ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਸਲਾਹਕਾਰ ਹੈ, ਪਰ ਮਨੁੱਖ ਇਹ ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕੀ ਭਵਿੱਖਬਾਣੀ ਕਰਦੇ ਹੋ ਅਤੇ ਕਿਉਂ।
ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਕੰਮ
ਪੂਰਵ-ਅਨੁਮਾਨ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ਅਤੇ ਹੇਠ ਲਿਖੇ ਵਾਕ ਨੂੰ ਲਿਖਤੀ ਰੂਪ ਵਿੱਚ ਪੂਰਾ ਕਰੋ: "ਇਹ ਮਾਡਲ ___ (ਵਰਗੀਕਰਨ/ਰਿਗਰੈਸ਼ਨ) ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰੇਗਾ, ਟੀਚਾ ___ ਹੈ, ਸਫਲਤਾ ਦਾ ਮਾਪਦੰਡ ___ ਹੈ ਕਿਉਂਕਿ ___।" ਫਿਰ ਡੇਟਾ ਨੂੰ ਸਹੀ ਰਣਨੀਤੀ ਨਾਲ ਵੰਡੋ (ਕਾਲਕ੍ਰਮ ਅਨੁਸਾਰ ਜੇਕਰ ਇਹ ਸਮਾਂ ਲੜੀ ਹੈ), ਇੱਕ ਬੇਸਲਾਈਨ ਸਥਾਪਿਤ ਕਰੋ, ਅਤੇ ਮਾਪੋ ਕਿ ਕੀ ਇੱਕ ਸਧਾਰਨ ਪੈਟਰਨ ਉਸ ਬੇਸਲਾਈਨ ਨੂੰ ਤੋੜਦਾ ਹੈ ਜਾਂ ਨਹੀਂ।
ਚੈੱਕਲਿਸਟ
- ਕੀ ਮੈਂ ਸਮੱਸਿਆ ਦੀ ਕਿਸਮ (ਵਰਗੀਕਰਨ/ਰਿਗਰੈਸ਼ਨ) ਅਤੇ ਟੀਚੇ ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਹੈ?
- ਕੀ ਮੈਂ ਨੌਕਰੀ ਦੀ ਅਸਲ ਲਾਗਤ ਦੇ ਆਧਾਰ 'ਤੇ ਸਫਲਤਾ ਦੇ ਮਾਪਦੰਡ ਚੁਣੇ ਹਨ?
- ਕੀ ਮੈਂ ਸਿਖਲਾਈ ਦੌਰਾਨ ਟੈਸਟ ਸੈੱਟ ਨੂੰ ਅਛੂਤ ਛੱਡ ਦਿੱਤਾ ਸੀ?
- [ ] ਜੇਕਰ ਇਹ ਸਮਾਂ ਲੜੀ ਹੈ, ਤਾਂ ਕੀ ਮੈਂ ਇਸਨੂੰ ਕਾਲਕ੍ਰਮ ਅਨੁਸਾਰ ਵੰਡਿਆ ਹੈ?
- [ ] ਕੀ ਮੈਂ ਗੁੰਝਲਦਾਰ ਮਾਡਲ 'ਤੇ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਬੇਸਲਾਈਨ ਸਥਾਪਤ ਕੀਤੀ ਹੈ?