[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Fcml-distance-clustering-dimreduction":4,"config":148},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":58,"samples":63},"ml-engineer","ML Engineer","","cml-distance-clustering-dimreduction","Cml Distance Clustering Dimreduction","en",75,1050,[14,15,16],"junior","mid","senior",[18,19,22,25,28,31,34,37,40,43,46,49,52,55],{"key":8,"name":9,"count":11},{"key":20,"name":21,"count":11},"cml-gradient-boosting-mechanics","Cml Gradient Boosting Mechanics",{"key":23,"name":24,"count":11},"cml-linear-logistic-internals","Cml Linear Logistic Internals",{"key":26,"name":27,"count":11},"cml-probabilistic-models-calibration","Cml Probabilistic Models Calibration",{"key":29,"name":30,"count":11},"cml-svm-kernels-margins","Cml Svm Kernels Margins",{"key":32,"name":33,"count":11},"cml-trees-randomforest-internals","Cml Trees Randomforest Internals",{"key":35,"name":36,"count":11},"ml-data-preparation","Ml Data Preparation",{"key":38,"name":39,"count":11},"ml-deployment-serving","Ml Deployment Serving",{"key":41,"name":42,"count":11},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":44,"name":45,"count":11},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":47,"name":48,"count":11},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":50,"name":51,"count":11},"ml-monitoring-drift","Ml Monitoring Drift",{"key":53,"name":54,"count":11},"ml-problem-framing","Ml Problem Framing",{"key":56,"name":57,"count":11},"ml-scaling-performance","Ml Scaling Performance",[59],{"key":60,"name":61,"count":62},"classical-ml","Classical ML",450,[64,82,96,109,122,135],{"id":65,"topic":9,"difficulty":66,"body":67,"options":68,"correct_key":70,"explanation":81},"01a03e80-2535-7b47-8200-83d35fef1428",1,"In scikit-learn, what does `KNeighborsClassifier.fit(X, y)` actually do?",[69,72,75,78],{"key":70,"text":71},"a","It stores the training set inside a neighbour-search index and estimates no parameters",{"key":73,"text":74},"b","It estimates one weight per feature by minimising squared error over the training rows",{"key":76,"text":77},"c","It computes one centroid per class label and keeps only those centroids for prediction",{"key":79,"text":80},"d","It builds threshold rules by recursively splitting the feature space into pure regions","k-nearest-neighbours is a lazy learner: fitting only memorises the training rows, optionally organising them into a KD-tree or ball-tree for faster lookup. No coefficients, centroids or split rules are derived, which is why training is nearly free while every prediction pays the neighbour-search cost.",{"id":83,"topic":9,"difficulty":84,"body":85,"options":86,"correct_key":76,"explanation":95},"01a03e80-255f-7de3-bf42-43d970a57f88",2,"As `n_neighbors` grows in a k-nearest-neighbours classifier, how does the decision boundary behave?",[87,89,91,93],{"key":70,"text":88},"It becomes exactly linear as soon as k passes the number of input features",{"key":73,"text":90},"It grows more jagged, because a larger committee of neighbours votes on each query",{"key":76,"text":92},"It grows smoother, which lowers variance and raises bias",{"key":79,"text":94},"Its shape stays the same and only the per-query prediction latency grows with k","Each prediction averages the votes of k neighbours, so a larger k averages over a wider region and the boundary loses its fine detail. That is the classic bias-variance trade of the method: k=1 tracks every individual label, and very large k drifts toward predicting the majority class everywhere.",{"id":97,"topic":9,"difficulty":84,"body":98,"options":99,"correct_key":79,"explanation":108},"01a03e80-2567-78d8-90d4-e9518af450c6","A `KNeighborsClassifier(n_neighbors=5)` on the wine dataset scores 0.69 unscaled and about 0.95 with either `StandardScaler` or `MinMaxScaler` in front. Yet under the two scalers 125 of the 178 rows end up with a different set of five neighbours. Why do the two disagree?",[100,102,104,106],{"key":70,"text":101},"`MinMaxScaler` leaves the columns correlated while `StandardScaler` removes that correlation first",{"key":73,"text":103},"Mapping into [0, 1] discards the sign of each value, which the squared difference relies on",{"key":76,"text":105},"The two place the origin differently, and a shifted origin changes which rows come out closest",{"key":79,"text":107},"One divides a column by its standard deviation and the other by its range, so the weights differ","Both transforms remove the raw-unit problem, which is why the accuracy lands in the same place either way, but there is more than one way to make columns comparable. A column carrying one distant extreme value has a wide range and only a modest standard deviation, so min-max squeezes it far harder than standardising does. Each column therefore enters the squared sum with a different weight under the two, and the resulting neighbour lists overlap on average in 4.06 of their 5 places.",{"id":110,"topic":9,"difficulty":84,"body":111,"options":112,"correct_key":73,"explanation":121},"01a03e80-256e-70d6-95ae-72e77948e476","A team switches a kNN classifier from `weights='uniform'` to `weights='distance'`, and predictions change mostly for query points sitting near a class boundary. What did the switch change?",[113,115,117,119],{"key":70,"text":114},"Neighbours farther away than the mean neighbour distance are now dropped from the vote entirely",{"key":73,"text":116},"Each of the k neighbours now votes with weight proportional to 1\u002Fd",{"key":76,"text":118},"k is now recomputed for each query point from the local density of the surrounding training rows",{"key":79,"text":120},"The metric changed from Minkowski to a weighted distance that is learned during the fit","With uniform weights all k neighbours count equally, so a query just outside a dense region can be outvoted by slightly farther points of the other class. Inverse-distance weighting keeps the same k neighbours but lets the closest ones dominate, which is exactly where boundary points shift.",{"id":123,"topic":9,"difficulty":84,"body":124,"options":125,"correct_key":79,"explanation":134},"01a03e80-2574-71e3-a166-36a14dd43b53","What does this snippet print (scikit-learn 1.6)?\n\n```python\nfrom sklearn.metrics import pairwise_distances\na = [[0, 0]]\nb = [[3, 4]]\nprint(pairwise_distances(a, b, metric=\"minkowski\", p=1)[0, 0],\n      pairwise_distances(a, b, metric=\"minkowski\", p=2)[0, 0])\n```",[126,128,130,132],{"key":70,"text":127},"12.0 5.0",{"key":73,"text":129},"5.0 7.0",{"key":76,"text":131},"7.0 7.0",{"key":79,"text":133},"7.0 5.0","Minkowski with p=1 is the Manhattan distance, |3| + |4| = 7. With p=2 it is the Euclidean distance, sqrt(9 + 16) = 5. The exponent p is what turns one metric into the other, and it is the default p=2 that makes kNN Euclidean out of the box.",{"id":136,"topic":9,"difficulty":66,"body":137,"options":138,"correct_key":73,"explanation":147},"01a03e80-2577-792b-b394-46a848fc51d4","Which quantity does `KMeans` minimise, and what does its `inertia_` attribute therefore report?",[139,141,143,145],{"key":70,"text":140},"The mean silhouette coefficient computed over all of the assigned samples",{"key":73,"text":142},"The sum over all samples of the squared distance to the assigned centroid",{"key":76,"text":144},"The log-likelihood of the data under one Gaussian component per cluster",{"key":79,"text":146},"The sum of the pairwise distances between every pair of fitted centroids","The k-means objective is the within-cluster sum of squares, and `inertia_` holds exactly that value after the fit. Because the criterion is a sum of squared Euclidean distances to a mean, the whole algorithm inherits a preference for compact, roughly spherical groups.",{"fields":149,"seniorities":370,"interview_shapes":371,"locales":376,"oauth":378,"question_count":381,"coach_enabled":382,"jd_match_enabled":382},[150,175,195,212,236,249,268,287,309,328,343,365],{"key":151,"name_tr":152,"name_en":152,"sort":66,"specializations":153},"backend","Backend",[154,157,160,163,166,169,172],{"key":155,"name":156,"field":151},"general","Genel",{"key":158,"name":159,"field":151},"go","Go",{"key":161,"name":162,"field":151},"python","Python",{"key":164,"name":165,"field":151},"java","Java",{"key":167,"name":168,"field":151},"csharp","C#\u002F.NET",{"key":170,"name":171,"field":151},"nodejs","Node.js",{"key":173,"name":174,"field":151},"php","PHP",{"key":176,"name_tr":177,"name_en":177,"sort":84,"specializations":178},"frontend","Frontend",[179,180,183,186,189,192],{"key":155,"name":156,"field":176},{"key":181,"name":182,"field":176},"javascript","JavaScript",{"key":184,"name":185,"field":176},"typescript","TypeScript",{"key":187,"name":188,"field":176},"react","React",{"key":190,"name":191,"field":176},"vue","Vue",{"key":193,"name":194,"field":176},"angular","Angular",{"key":196,"name_tr":197,"name_en":197,"sort":198,"specializations":199},"fullstack","Fullstack",3,[200,201,202,203,204,205,206,207,208,209,210,211],{"key":155,"name":156,"field":196},{"key":158,"name":159,"field":151},{"key":161,"name":162,"field":151},{"key":164,"name":165,"field":151},{"key":167,"name":168,"field":151},{"key":170,"name":171,"field":151},{"key":173,"name":174,"field":151},{"key":181,"name":182,"field":176},{"key":184,"name":185,"field":176},{"key":187,"name":188,"field":176},{"key":190,"name":191,"field":176},{"key":193,"name":194,"field":176},{"key":213,"name_tr":214,"name_en":214,"sort":215,"specializations":216},"devops-cloud","DevOps \u002F Cloud",4,[217,218,221,224,227,230,233],{"key":155,"name":156,"field":213},{"key":219,"name":220,"field":213},"aws","AWS",{"key":222,"name":223,"field":213},"gcp","GCP",{"key":225,"name":226,"field":213},"azure","Azure",{"key":228,"name":229,"field":213},"kubernetes","Kubernetes",{"key":231,"name":232,"field":213},"terraform","Terraform",{"key":234,"name":235,"field":213},"linux","Linux",{"key":237,"name_tr":238,"name_en":238,"sort":239,"specializations":240},"ai-engineer","AI Engineer",5,[241,242,243,246],{"key":155,"name":156,"field":237},{"key":161,"name":162,"field":237},{"key":244,"name":245,"field":237},"llm-rag","LLM\u002FRAG",{"key":247,"name":248,"field":237},"mlops","MLOps",{"key":250,"name_tr":251,"name_en":252,"sort":253,"specializations":254},"database","Veritabanı","Database",6,[255,256,259,262,265],{"key":155,"name":156,"field":250},{"key":257,"name":258,"field":250},"postgresql","PostgreSQL",{"key":260,"name":261,"field":250},"mysql","MySQL",{"key":263,"name":264,"field":250},"mongodb","MongoDB",{"key":266,"name":267,"field":250},"redis","Redis",{"key":269,"name_tr":270,"name_en":271,"sort":272,"specializations":273},"mobile","Mobil","Mobile",7,[274,275,278,281,284],{"key":155,"name":156,"field":269},{"key":276,"name":277,"field":269},"ios-swift","iOS (Swift)",{"key":279,"name":280,"field":269},"android-kotlin","Android (Kotlin)",{"key":282,"name":283,"field":269},"flutter","Flutter",{"key":285,"name":286,"field":269},"react-native","React Native",{"key":288,"name_tr":289,"name_en":290,"sort":291,"specializations":292},"security","Güvenlik","Security",8,[293,294,297,300,303,306],{"key":155,"name":156,"field":288},{"key":295,"name":296,"field":288},"appsec","AppSec",{"key":298,"name":299,"field":288},"offensive-pentest","Offensive \u002F Pentest",{"key":301,"name":302,"field":288},"cloud-security","Cloud Security",{"key":304,"name":305,"field":288},"devsecops","DevSecOps",{"key":307,"name":308,"field":288},"blue-team-incident","Blue Team \u002F Incident",{"key":310,"name_tr":311,"name_en":312,"sort":313,"specializations":314},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[315,316,319,322,325],{"key":155,"name":156,"field":310},{"key":317,"name":318,"field":310},"test-automation","Test Automation",{"key":320,"name":321,"field":310},"sdet","SDET",{"key":323,"name":324,"field":310},"performance-testing","Performance Testing",{"key":326,"name":327,"field":310},"mobile-qa","Mobile QA",{"key":329,"name_tr":330,"name_en":330,"sort":331,"specializations":332},"data-engineer","Data Engineer",10,[333,334,337,340],{"key":155,"name":156,"field":329},{"key":335,"name":336,"field":329},"pipelines-etl","Pipelines \u002F ETL",{"key":338,"name":339,"field":329},"streaming","Streaming",{"key":341,"name":342,"field":329},"warehousing","Warehousing",{"key":344,"name_tr":345,"name_en":346,"sort":347,"specializations":348},"game-dev","Oyun Geliştirme","Game Development",11,[349,350,353,356,359,362],{"key":155,"name":156,"field":344},{"key":351,"name":352,"field":344},"unity-csharp","Unity (C#)",{"key":354,"name":355,"field":344},"unreal-cpp","Unreal (C++)",{"key":357,"name":358,"field":344},"gameplay","Gameplay",{"key":360,"name":361,"field":344},"graphics-rendering","Graphics \u002F Rendering",{"key":363,"name":364,"field":344},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":5,"name_tr":6,"name_en":6,"sort":366,"specializations":367},12,[368,369],{"key":155,"name":156,"field":5},{"key":60,"name":61,"field":5},[14,15,16],{"junior":372,"mid":374,"senior":375},{"questions":373,"median_sec":3},20,{"questions":373,"median_sec":3},{"questions":373,"median_sec":3},[377,10],"tr",[379,380],"google","github",27600,true]