Ki jan Yandex.Taxi chèche machin lè pa gen okenn

Ki jan Yandex.Taxi chèche machin lè pa gen okenn

Yon bon sèvis taksi ta dwe san danje, serye ak rapid. Itilizatè a pa pral antre nan detay: li enpòtan pou li ke li klike sou bouton an "Lòd" epi li resevwa yon machin pi vit posib ki pral mennen l 'soti nan pwen A nan pwen B. Si pa gen okenn machin ki tou pre, sèvis la ta dwe. imedyatman enfòme sou sa a pou ke kliyan an pa gen te gen fo atant. Men, si siy "Pa gen machin" parèt twò souvan, Lè sa a, li lojik ke yon moun ap tou senpleman sispann sèvi ak sèvis sa a epi ale nan yon konkiran.

Nan atik sa a mwen vle pale sou ki jan, lè l sèvi avèk aprantisaj machin, nou rezoud pwoblèm nan nan rechèch pou machin nan zòn ki ba dansite (nan lòt mo, kote, nan premye gade, pa gen okenn machin). Ak sa ki soti nan li.

pre-istwa

Pou rele yon taksi, itilizatè a fè kèk etap senp, men kisa k ap pase andedan sèvis la?

Itilizatè Etap Backend Yandex.Taxi
Chwazi pwen depa a PIN Nou ap lanse yon rechèch senplifye pou kandida - pin search. Ki baze sou chofè yo jwenn, lè a rive prevwa - ETA nan peny la. Yo kalkile koyefisyan k ap ogmante nan yon pwen.
Chwazi destinasyon, pri tikè, kondisyon Ofri Nou bati yon wout ak kalkile pri pou tout tarif yo, pran an kont koyefisyan an ogmante.
Peze bouton "Rele yon taksi". Lòd Nou lanse yon rechèch konplè pou machin nan. Nou chwazi chofè ki pi apwopriye epi ofri l yon lòd.

sou ETA nan PIN, kalkil pri и chwazi chofè ki pi apwopriye nou deja ekri. Epi sa a se yon istwa sou jwenn chofè. Lè yo kreye yon lòd, rechèch la fèt de fwa: sou PIN la ak sou lòd la. Rechèch la pou yon lòd pran plas nan de etap: rekritman nan kandida ak klasman. Premyèman, yo jwenn chofè kandida ki disponib ki pi pre sou graf wout la. Lè sa a, bonis ak filtraj yo aplike. Kandida ki rete yo klase epi gayan an resevwa yon òf lòd. Si li dakò, li plase nan lòd la epi li ale nan pwen livrezon an. Si li refize, Lè sa a, òf la vini nan pwochen an. Si pa gen plis kandida, rechèch la kòmanse ankò. Sa a pa dire plis pase twa minit, apre sa lòd la anile epi boule.

Chèche sou yon PIN se menm jan ak rechèch sou yon lòd, se sèlman lòd la pa kreye epi rechèch la li menm fèt yon sèl fwa. Anviwònman senplifye pou kantite kandida yo ak reyon rechèch yo itilize tou. Senplifikasyon sa yo nesesè paske gen yon lòd nan grandè plis broch pase lòd, ak rechèch se yon operasyon olye difisil. Pwen kle nan istwa nou an: si pandan rechèch la preliminè pa gen okenn kandida apwopriye yo te jwenn sou Pin an, Lè sa a, nou pa pèmèt ou mete yon lòd. Omwen se konsa li te konn ye.

Men sa itilizatè a te wè nan aplikasyon an:

Ki jan Yandex.Taxi chèche machin lè pa gen okenn

Chèche machin san machin

Yon jou nou te vini ak yon ipotèz: petèt nan kèk ka lòd la ka toujou ranpli, menm si pa te gen okenn machin sou PIN la. Apre yo tout, kèk tan pase ant PIN la ak lòd la, ak rechèch la pou lòd la pi konplè epi pafwa repete plizyè fwa: pandan tan sa a, chofè ki disponib yo ka parèt. Nou te konnen tou opoze a: si chofè yo te jwenn sou peny la, li pa t 'yon reyalite ke yo ta dwe jwenn lè kòmande. Pafwa yo disparèt oswa tout moun refize lòd la.

Pou teste ipotèz sa a, nou te lanse yon eksperyans: nou te sispann tcheke prezans machin yo pandan yon rechèch sou yon PIN pou yon gwoup itilizatè tès, sa vle di, yo te gen opòtinite pou fè yon "kòd san machin." Rezilta a te byen inatandi: si machin nan pa t 'sou peny la, Lè sa a, nan 29% nan ka li te jwenn pita - lè rechèch sou lòd la! Anplis, lòd san machin pa t 'siyifikativman diferan de lòd regilye an tèm de pousantaj anile, evalyasyon, ak lòt endikatè bon jan kalite. Rezèvasyon san machin te reprezante 5% nan tout rezèrvasyon yo, men jis plis pase 1% nan tout vwayaj ki gen siksè.

Pou konprann ki kote egzekitè lòd sa yo soti, ann gade estati yo pandan yon rechèch sou yon PIN:

Ki jan Yandex.Taxi chèche machin lè pa gen okenn

  • Disponib: te disponib, men pou kèk rezon pa te enkli nan kandida yo, pou egzanp, li te twò lwen;
  • Sou lòd: te okipe, men jere yo libere tèt li oswa vin disponib pou lòd chèn;
  • Okipe: kapasite nan aksepte lòd yo te enfim, men Lè sa a, chofè a tounen nan liy lan;
  • Pa disponib: chofè a pa t 'sou entènèt, men li te parèt.

Ann ajoute fyab

Lòt lòd yo gwo, men 29% nan rechèch siksè vle di ke 71% nan tan itilizatè a tann yon bon bout tan epi li te fini ale okenn kote. Malgre ke sa a se pa yon move bagay nan yon pwen de vi efikasite sistèm, li aktyèlman bay itilizatè a fo espwa ak gaspiye tan, apre sa yo jwenn fache ak (pètèt) sispann sèvi ak sèvis la. Pou rezoud pwoblèm sa a, nou te aprann predi chans pou yo jwenn yon machin sou lòd.

Konplo a se jan sa a:

  • Itilizatè a mete yon peny.
  • Yon rechèch fèt sou peny la.
  • Si pa gen machin, nou predi: petèt yo pral parèt.
  • Epi tou depann de pwobabilite a, nou pèmèt oswa pa pèmèt ou mete yon lòd, men nou avèti ou ke dansite machin nan zòn sa a nan moman sa a ba.

Nan aplikasyon an li te sanble tankou sa a:

Ki jan Yandex.Taxi chèche machin lè pa gen okenn

Sèvi ak modèl la pèmèt ou kreye nouvo lòd ak plis presizyon epi yo pa rasire moun pou gremesi. Sa se, kontwole rapò a nan fyab ak kantite lòd san yo pa machin lè l sèvi avèk modèl la presizyon-rapèl. Fyab nan sèvis la enfliyanse dezi a kontinye sèvi ak pwodwi a, sa vle di nan fen a li tout vini desann nan kantite vwayaj.

Yon ti kras sou presizyon-rapèlYoun nan travay debaz yo nan aprantisaj machin se travay la klasifikasyon: asiyen yon objè nan youn nan de klas. Nan ka sa a, rezilta algorithm aprantisaj machin nan souvan vin tounen yon evalyasyon nimerik nan manm nan youn nan klas yo, pou egzanp, yon evalyasyon pwobabilite. Sepandan, aksyon yo fè yo anjeneral binè: si machin nan disponib, Lè sa a, nou pral kite ou kòmande li, epi si se pa, Lè sa a, nou pa pral. Pou nou espesifik, ann rele yon algorithm ki pwodui yon estimasyon nimerik yon modèl, ak yon klasifikatè yon règ ki asiyen li nan youn nan de klas (1 oswa -1). Pou fè yon klasifikasyon ki baze sou evalyasyon modèl la, ou bezwen chwazi yon papòt evalyasyon. Ki jan egzakteman depann anpil sou travay la.

Sipoze nou ap fè yon tès (klasifikasyon) pou kèk maladi ra ak danjere. Dapre rezilta tès yo, nou swa voye pasyan an pou yon egzamen pi detaye, oswa nou di: "Bon, ale lakay ou." Pou nou, voye yon moun ki malad lakay li pi mal pase egzamine yon moun ki an sante san nesesite. Sa vle di, nou vle tès la travay pou anpil moun ki vrèman malad posib. Valè sa a rele rapèl =Ki jan Yandex.Taxi chèche machin lè pa gen okenn. Yon klasifikasyon ideyal gen yon rapèl 100%. Yon sitiyasyon dejenere se voye tout moun pou egzamen an, Lè sa a, rapèl la pral tou 100%.

Li rive tou nan lòt fason alantou. Pa egzanp, nou ap fè yon sistèm tès pou elèv yo, epi li gen yon detektè triche. Si toudenkou chèk la pa travay pou kèk ka kopye, Lè sa a, sa a se dezagreyab, men se pa kritik. Nan lòt men an, li trè move pou akize elèv yo enjis pou yon bagay yo pa t 'fè. Sa vle di, li enpòtan pou nou ke pami repons yo pozitif nan klasifikasyon an gen anpil kòrèk ke posib, petèt nan detriman nan nimewo yo. Sa vle di ke ou bezwen maksimize presizyon = Ki jan Yandex.Taxi chèche machin lè pa gen okenn. Si deklanche rive sou tout objè, Lè sa a, presizyon pral egal a frekans nan klas la defini nan echantiyon an.

Si algorithm a pwodui yon valè pwobabilite nimerik, Lè sa a, lè w chwazi diferan papòt, ou ka reyalize diferan valè presizyon rapèl.

Nan pwoblèm nou an sitiyasyon an se jan sa a. Rapèl se kantite lòd nou ka ofri, presizyon se fyab nan lòd sa yo. Men ki jan koub presizyon-rapèl modèl nou an sanble:
Ki jan Yandex.Taxi chèche machin lè pa gen okenn
Gen de ka ekstrèm: pa pèmèt pèsonn bay lòd epi pèmèt tout moun bay lòd. Si ou pa pèmèt nenpòt moun, Lè sa a, rapèl yo pral 0: nou pa kreye lòd, men pa youn nan yo pral echwe. Si nou pèmèt tout moun, Lè sa a, rapèl yo pral 100% (nou pral resevwa tout lòd posib), ak presizyon yo pral 29%, sa vle di 71% nan lòd yo pral move.

Nou itilize divès paramèt nan pwen an kòmanse kòm siy:

  • Tan/kote.
  • Eta sistèm (kantite machin okipe nan tout tarif yo ak broch nan vwazinaj la).
  • Search paramèt (reyon, kantite kandida, restriksyon).

Plis sou siy yo

Konseptyèlman, nou vle fè distenksyon ant de sitiyasyon:

  • "Deep forest" - pa gen okenn machin isit la nan moman sa a.
  • "Malheureux" - gen machin, men lè w ap chèche, pa t gen okenn moun ki apwopriye.

Youn nan egzanp "Malheureux" se si gen anpil demann nan sant la nan Vandredi aswè. Gen yon anpil nan lòd, yon anpil nan moun ki vle, epi yo pa ase chofè pou tout moun. Li ka vire tankou sa a: pa gen okenn chofè apwopriye nan peny la. Men, literalman nan kèk segonn yo parèt, paske nan moman sa a gen yon anpil nan chofè nan kote sa a ak estati yo toujou ap chanje.

Se poutèt sa, divès kalite endikatè sistèm nan vwazinaj pwen A yo te tounen bon karakteristik:

  • Kantite total machin yo.
  • Kantite machin sou lòd.
  • Nimewo a nan machin ki pa disponib pou kòmande nan estati "Okipe".
  • Kantite itilizatè yo.

Apre yo tout, plis machin yo gen, gen plis chans ke youn nan yo ap vin disponib.
An reyalite, li enpòtan pou nou ke se pa sèlman machin yo sitiye, men tou vwayaj siksè yo te fè. Se poutèt sa, li te posib yo predi pwobabilite pou yon vwayaj siksè. Men, nou deside pa fè sa, paske valè sa a depann anpil sou itilizatè a ak chofè a.

Algorithm fòmasyon modèl la te CatBoost. Done yo te jwenn nan eksperyans la te itilize pou fòmasyon. Apre aplikasyon an, done fòmasyon yo te dwe kolekte, pafwa pèmèt yon ti kantite itilizatè yo bay lòd kont desizyon modèl la.

Rezilta

Rezilta yo nan eksperyans la te jan yo espere: lè l sèvi avèk modèl la pèmèt ou ogmante siyifikativman kantite vwayaj siksè akòz lòd san machin, men san yo pa konpwomèt fyab.

Nan moman sa a, mekanis la te lanse nan tout vil ak peyi ak èd li yo, apeprè 1% nan vwayaj siksè rive. Anplis, nan kèk vil ki gen yon dansite ki ba nan machin, pataje nan vwayaj sa yo rive nan 15%.

Lòt pòs sou teknoloji taksi

Sous: www.habr.com

Add nouvo kòmantè