Իրական տվյալների բազմություններում հաճախ լինում են բացթողումներ. սենսորները խափանվում են, ձևաթղթերը կիսատ են լրացվում, թվերը կորում են։ Շատ մոդելներ (հատկապես հեռավորության վրա հիմնվածները, ինչպիսին է KNN-ը) կարիք ունեն ամբողջական թվային հատկանիշների՝ օրինակները ճիշտ համեմատելու համար։ Բաց թողնված արժեքների լրացումը (imputation) թույլ է տալիս պահպանել այն տվյալները, որոնք այլապես դեն կնետվեին, պահպանում է հարևանությունների կառուցվածքը և նվազեցնում ամբողջական տողեր ջնջելու հետևանքով առաջացող շեղումը։ Լավ մեկնարկային մոտեցում է բաց թողնված թվային արժեքները միջինով փոխարինելը։ Այն պարզ է, դետերմինիստական և թույլ չի տալիս, որ տեղեկատվության արտահոսք տեղի ունենա ապագա տվյալներից։ Այն չի կարողանում ընկալել բարդ կառուցվածքները և կարող է նվազեցնել դիսպերսիան (variance), եթե տվյալները պատահականորեն բաց թողնված չեն, բայց հաճախ այն բավարար է մոդելը գործի դնելու համար։
Կախված խնդրից՝ կարող եք նաև ջնջել այն տողերն ու սյուները, որոնք շատ բացթողումներ ունեն, կամ զսպել էքստրեմալ արժեքները՝ հեռացնելով/կտրելով արտանետումները (outliers)։ Ավելի առաջադեմ տարբերակներից են մեդիանով կամ k-NN-ով լրացումը (imputation), ռեգրեսիայի վրա հիմնված լրացումները կամ բազմակի իմպուտացիան (multiple imputation), որոնց մենք կանդրադառնանք դասընթացի ընթացքում։
Ջերմոցի բացթողումները. լրացրու, ապա կանխատեսիր
Ձեր բույսերի գրանցամատյանում կան բաց թողնված տվյալներ. սենսորները խափանվել են, թղթերը՝ լղոզվել, իսկ KNN-ը չի կարող հեռավորություններ հաշվել առանց թվերի։ Տողերը ջնջելը կփոքրացնի հարևանությունները և կշեղի արդյունքները։ Պարզ լուծում է բաց թողնված թվային հատկանիշները լրացնել միայն նախապես գոյություն ունեցող գրանցամատյանի տվյալների միջինով, ապա թույլ տալ, որ մոտակա բույսերը «քվեարկեն» իրենց արժեքներով։
Պահանջվում է կարդալ n բույսերի մասին տվյալներ, որոնցից յուրաքանչյուրը նկարագրվում է d թվային հատկանիշով և մեկ թիրախային արժեքով։ Յուրաքանչյուր հատկանիշի համար հաշվեք միջինը՝ օգտագործելով միայն նախապես գոյություն ունեցող տվյալները (անտեսելով NA-ները)։ Այնուհետև լրացրեք NA արժեքները և՛ նախնական, և՛ նոր տողերում այդ միջիններով։ Դրանից հետո կանխատեսեք յուրաքանչյուր նոր տողի թիրախային արժեքը՝ օգտագործելով k-NN ռեգրեսիա k=2-ով և Էվկլիդյան հեռավորությունը լրացված հատկանիշների համար։ Եթե որևէ սյունակում նախնական տվյալներում դիտարկված թվեր չկան, ապա դրա միջինը համարեք 0։ Եթե երկու ամենամոտ հարևանների սահմանային հեռավորության վրա մի քանի թեկնածուներ ունեն նույն արժեքը, ընտրեք այն մեկը, որը մուտքային տվյալներում ավելի շուտ է հանդիպում։
Մուտքի առաջին տողը պարունակում է երկու ամբողջ թիվ՝ n d, որոնք համապատասխանաբար ցույց են տալիս նախապես գոյություն ունեցող տողերի և յուրաքանչյուր տողի թվային հատկանիշների քանակը։ Հաջորդ n տողերից յուրաքանչյուրը պարունակում է d արժեք (յուրաքանչյուրը կամ իրական թիվ է, կամ NA բառը)՝ որին հաջորդում է թիրախային իրական թիվը։
Հաջորդ տողը պարունակում է մեկ ամբողջ թիվ՝ q, որը ցույց է տալիս, թե քանի նոր տող է պետք կանխատեսել։ Հաջորդ q տողերից յուրաքանչյուրը պարունակում է d արժեք (յուրաքանչյուրն էլ կամ իրական թիվ է, կամ NA բառը)։
Ծրագիրը պետք է տպի q տող, որոնցից յուրաքանչյուրը պետք է պարունակի մեկ իրական թվով կանխատեսում։
Մուտք
Ելք
3 2 NA 2 5 3 NA 7 10 10 9 2 0 2 10 NA
6 7
5 3 1 NA 2 10 NA 4 2 8 1 5 NA 6 2 6 3 12 3 7 4 14 2 2 5 NA NA 6 3