[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en:ml-engineer\u002Ffeature-engineering":4,"config":190},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":7,"topic_name":7,"spec_key":8,"spec_name":9,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":97,"samples":105},"ml-engineer","ML Engineer","","feature-engineering","Feature Engineering","en",450,1950,[14,15,16],"junior","mid","senior",[18,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94],{"key":19,"name":20,"count":21},"cml-distance-clustering-dimreduction","Cml Distance Clustering Dimreduction",75,{"key":23,"name":24,"count":21},"cml-gradient-boosting-mechanics","Cml Gradient Boosting Mechanics",{"key":26,"name":27,"count":21},"cml-linear-logistic-internals","Cml Linear Logistic Internals",{"key":29,"name":30,"count":21},"cml-probabilistic-models-calibration","Cml Probabilistic Models Calibration",{"key":32,"name":33,"count":21},"cml-svm-kernels-margins","Cml Svm Kernels Margins",{"key":35,"name":36,"count":21},"cml-trees-randomforest-internals","Cml Trees Randomforest Internals",{"key":38,"name":39,"count":21},"dl-architecture-layers","Dl Architecture Layers",{"key":41,"name":42,"count":21},"dl-initialization-optimizers","Dl Initialization Optimizers",{"key":44,"name":45,"count":21},"dl-losses-output-layers","Dl Losses Output Layers",{"key":47,"name":48,"count":21},"dl-normalization-regularization","Dl Normalization Regularization",{"key":50,"name":51,"count":21},"dl-sequence-attention","Dl Sequence Attention",{"key":53,"name":54,"count":21},"dl-training-dynamics-backprop","Dl Training Dynamics Backprop",{"key":56,"name":57,"count":21},"fe-binning-discretization","Fe Binning Discretization",{"key":59,"name":60,"count":21},"fe-categorical-encoding-mechanics","Fe Categorical Encoding Mechanics",{"key":62,"name":63,"count":21},"fe-interactions-basis-expansion","Fe Interactions Basis Expansion",{"key":65,"name":66,"count":21},"fe-numeric-transforms-distributions","Fe Numeric Transforms Distributions",{"key":68,"name":69,"count":21},"fe-temporal-cyclical-features","Fe Temporal Cyclical Features",{"key":71,"name":72,"count":21},"fe-text-highcardinality-features","Fe Text Highcardinality Features",{"key":74,"name":75,"count":21},"ml-data-preparation","Ml Data Preparation",{"key":77,"name":78,"count":21},"ml-deployment-serving","Ml Deployment Serving",{"key":80,"name":81,"count":21},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":83,"name":84,"count":21},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":86,"name":87,"count":21},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":89,"name":90,"count":21},"ml-monitoring-drift","Ml Monitoring Drift",{"key":92,"name":93,"count":21},"ml-problem-framing","Ml Problem Framing",{"key":95,"name":96,"count":21},"ml-scaling-performance","Ml Scaling Performance",[98,101,104],{"key":99,"name":100,"count":11},"classical-ml","Classical ML",{"key":102,"name":103,"count":11},"deep-learning","Deep Learning",{"key":8,"name":9,"count":11},[106,124,137,151,164,177],{"id":107,"topic":57,"difficulty":108,"body":109,"options":110,"correct_key":121,"explanation":123},"01a04b40-dcaf-76f4-ae84-7284b499a561",1,"A numeric column is discretized with equal-width binning into 4 bins. How are the cut points determined?",[111,114,117,120],{"key":112,"text":113},"a","The column is sorted and cut after every quarter of the rows, so each bin ends up holding the same number of observations",{"key":115,"text":116},"b","Cut points are searched so that the variance of the target inside each resulting bin is as small as possible",{"key":118,"text":119},"c","The four largest gaps between consecutive sorted values are located and the cuts are placed inside those gaps",{"key":121,"text":122},"d","The interval between the column minimum and maximum is divided into four stretches of identical length, and however many rows land in each is whatever the data gives","Equal-width binning looks only at the extremes of the column: the span max - min is sliced into k pieces of the same width. Occupancy is never consulted, so bin counts can be wildly unbalanced. Target-driven and gap-driven cut placement are different families of rules that ignore the fixed-width constraint entirely.",{"id":125,"topic":57,"difficulty":108,"body":126,"options":127,"correct_key":121,"explanation":136},"01a04b40-dcf7-74fe-b3be-f23b79af5aa6","The same numeric column is discretized with equal-frequency (quantile) binning into 4 bins instead. What characterizes the resulting bins?",[128,130,132,134],{"key":112,"text":129},"All 4 bins span the same numeric width, and the counts inside them are approximately equal as a side effect",{"key":115,"text":131},"Bin widths grow geometrically from left to right, which is what balances the counts",{"key":118,"text":133},"The bins are placed around the 4 densest regions of the column, leaving sparse regions unassigned",{"key":121,"text":135},"The cut points are the empirical 25th, 50th and 75th percentiles and the counts come out close to equal","Quantile binning inverts the equal-width rule: it fixes the number of rows per bin and lets the width float. The cut points are just sample percentiles of the training column, so a dense region gets narrow bins and a long tail gets one very wide bin.",{"id":138,"topic":57,"difficulty":139,"body":140,"options":141,"correct_key":118,"explanation":150},"01a04b40-dcfa-7c41-b185-0810e7e2c290",2,"With scikit-learn 1.6, a single column holding [0, 1, 2, 3, 10] is passed to KBinsDiscretizer(n_bins=2, encode='ordinal', strategy='uniform', subsample=None). What does fit_transform return?",[142,144,146,148],{"key":112,"text":143},"[0, 0, 0, 1, 1] — the two values furthest from the mean are grouped together in the upper bin",{"key":115,"text":145},"[0, 0, 1, 1, 1] — the cut point sits at the median 2.0, so three values reach the upper bin",{"key":118,"text":147},"[0, 0, 0, 0, 1] — the single cut point is 5.0, so only the value 10 reaches the upper bin",{"key":121,"text":149},"[0, 1, 1, 1, 1] — the smallest value anchors the lower bin and everything above it moves up","The uniform strategy places edges at min, midpoint, max, giving [0.0, 5.0, 10.0]. Values 0 through 3 fall below 5.0 and receive code 0; only 10 lands in the upper interval. Nothing in the rule looks at how many rows end up on either side.",{"id":152,"topic":57,"difficulty":139,"body":153,"options":154,"correct_key":112,"explanation":163},"01a04b40-dd06-7384-ae0e-2611085b54f1","The same column [0, 1, 2, 3, 10] is now passed to KBinsDiscretizer(n_bins=2, encode='ordinal', strategy='quantile', subsample=None) in scikit-learn 1.6. What does the fitted bin_edges_ array for that feature contain?",[155,157,159,161],{"key":112,"text":156},"[0.0, 2.0, 10.0], because the interior edge is the median of the column",{"key":115,"text":158},"[0.0, 3.2, 10.0], because the interior edge is the arithmetic mean of the five observed values",{"key":118,"text":160},"[0.0, 5.0, 10.0], because the single interior edge is the arithmetic midpoint of the observed range",{"key":121,"text":162},"[1.0, 2.0, 3.0], because only the interior values of the column are used to build the edge array","With two quantile bins the single interior cut point is the 50th percentile, which is 2.0 here. The arithmetic mean of the observed values and the midpoint of the observed range are the two rules that would move that cut somewhere else, and neither is what the percentile strategy applies.",{"id":165,"topic":57,"difficulty":139,"body":166,"options":167,"correct_key":115,"explanation":176},"01a04b40-dd18-7b2a-adda-c3035ab60680","An income-like column is drawn as np.random.default_rng(0).lognormal(0, 1, 1000) and discretized into 5 equal-width bins with scikit-learn 1.6. Measured on that seed, what does the occupancy of the five bins look like?",[168,170,172,174],{"key":112,"text":169},"Roughly 200 rows in every bin, because a thousand rows is enough for the width rule to even out",{"key":115,"text":171},"About 945 rows in the first bin and 43, 10, 1, 1 in the remaining four, since the tail sets the maximum",{"key":118,"text":173},"Roughly 340 rows in each of the first three bins and none in the last two",{"key":121,"text":175},"Roughly 500 rows in the middle bin, about 125 in each of the others, mirroring the bell shape of the data","Under a lognormal shape the maximum sits far above the bulk, so the equal-width edges are stretched across a range almost nobody occupies. On this seed the measured counts are 945, 43, 10, 1, 1. Equalized counts are what a percentile-based rule would deliver on the same column.",{"id":178,"topic":57,"difficulty":139,"body":179,"options":180,"correct_key":118,"explanation":189},"01a04b40-dd27-7bab-8b5e-49b817e24c01","The same lognormal column from the previous setup is re-binned into 5 bins with strategy='quantile' instead. Counts become 200 per bin. What happens to the bin widths?",[181,183,185,187],{"key":112,"text":182},"They stay identical to the equal-width case, since only the assignment rule changed and not the 6 stored edges",{"key":115,"text":184},"They become equal to each other but narrower overall, because the extreme values are excluded from the edge computation",{"key":118,"text":186},"They become extremely unequal: the first bin covers roughly 0.02 to 0.43 while the last one stretches from about 2.17 up to 21.46",{"key":121,"text":188},"They shrink uniformly by a constant factor such as 0.5, keeping their ratios to one another unchanged","Equalizing occupancy forces the widths to absorb the density: where the data is dense the bins are narrow, and the sparse tail is swallowed by a single very wide bin. The measured edges on this seed are approximately 0.02, 0.43, 0.74, 1.19, 2.17, 21.46.",{"fields":191,"seniorities":414,"interview_shapes":415,"locales":420,"oauth":422,"question_count":425,"coach_enabled":426,"jd_match_enabled":426},[192,217,237,254,278,291,310,329,351,370,385,407],{"key":193,"name_tr":194,"name_en":194,"sort":108,"specializations":195},"backend","Backend",[196,199,202,205,208,211,214],{"key":197,"name":198,"field":193},"general","Genel",{"key":200,"name":201,"field":193},"go","Go",{"key":203,"name":204,"field":193},"python","Python",{"key":206,"name":207,"field":193},"java","Java",{"key":209,"name":210,"field":193},"csharp","C#\u002F.NET",{"key":212,"name":213,"field":193},"nodejs","Node.js",{"key":215,"name":216,"field":193},"php","PHP",{"key":218,"name_tr":219,"name_en":219,"sort":139,"specializations":220},"frontend","Frontend",[221,222,225,228,231,234],{"key":197,"name":198,"field":218},{"key":223,"name":224,"field":218},"javascript","JavaScript",{"key":226,"name":227,"field":218},"typescript","TypeScript",{"key":229,"name":230,"field":218},"react","React",{"key":232,"name":233,"field":218},"vue","Vue",{"key":235,"name":236,"field":218},"angular","Angular",{"key":238,"name_tr":239,"name_en":239,"sort":240,"specializations":241},"fullstack","Fullstack",3,[242,243,244,245,246,247,248,249,250,251,252,253],{"key":197,"name":198,"field":238},{"key":200,"name":201,"field":193},{"key":203,"name":204,"field":193},{"key":206,"name":207,"field":193},{"key":209,"name":210,"field":193},{"key":212,"name":213,"field":193},{"key":215,"name":216,"field":193},{"key":223,"name":224,"field":218},{"key":226,"name":227,"field":218},{"key":229,"name":230,"field":218},{"key":232,"name":233,"field":218},{"key":235,"name":236,"field":218},{"key":255,"name_tr":256,"name_en":256,"sort":257,"specializations":258},"devops-cloud","DevOps \u002F Cloud",4,[259,260,263,266,269,272,275],{"key":197,"name":198,"field":255},{"key":261,"name":262,"field":255},"aws","AWS",{"key":264,"name":265,"field":255},"gcp","GCP",{"key":267,"name":268,"field":255},"azure","Azure",{"key":270,"name":271,"field":255},"kubernetes","Kubernetes",{"key":273,"name":274,"field":255},"terraform","Terraform",{"key":276,"name":277,"field":255},"linux","Linux",{"key":279,"name_tr":280,"name_en":280,"sort":281,"specializations":282},"ai-engineer","AI Engineer",5,[283,284,285,288],{"key":197,"name":198,"field":279},{"key":203,"name":204,"field":279},{"key":286,"name":287,"field":279},"llm-rag","LLM\u002FRAG",{"key":289,"name":290,"field":279},"mlops","MLOps",{"key":292,"name_tr":293,"name_en":294,"sort":295,"specializations":296},"database","Veritabanı","Database",6,[297,298,301,304,307],{"key":197,"name":198,"field":292},{"key":299,"name":300,"field":292},"postgresql","PostgreSQL",{"key":302,"name":303,"field":292},"mysql","MySQL",{"key":305,"name":306,"field":292},"mongodb","MongoDB",{"key":308,"name":309,"field":292},"redis","Redis",{"key":311,"name_tr":312,"name_en":313,"sort":314,"specializations":315},"mobile","Mobil","Mobile",7,[316,317,320,323,326],{"key":197,"name":198,"field":311},{"key":318,"name":319,"field":311},"ios-swift","iOS (Swift)",{"key":321,"name":322,"field":311},"android-kotlin","Android (Kotlin)",{"key":324,"name":325,"field":311},"flutter","Flutter",{"key":327,"name":328,"field":311},"react-native","React Native",{"key":330,"name_tr":331,"name_en":332,"sort":333,"specializations":334},"security","Güvenlik","Security",8,[335,336,339,342,345,348],{"key":197,"name":198,"field":330},{"key":337,"name":338,"field":330},"appsec","AppSec",{"key":340,"name":341,"field":330},"offensive-pentest","Offensive \u002F Pentest",{"key":343,"name":344,"field":330},"cloud-security","Cloud Security",{"key":346,"name":347,"field":330},"devsecops","DevSecOps",{"key":349,"name":350,"field":330},"blue-team-incident","Blue Team \u002F Incident",{"key":352,"name_tr":353,"name_en":354,"sort":355,"specializations":356},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[357,358,361,364,367],{"key":197,"name":198,"field":352},{"key":359,"name":360,"field":352},"test-automation","Test Automation",{"key":362,"name":363,"field":352},"sdet","SDET",{"key":365,"name":366,"field":352},"performance-testing","Performance Testing",{"key":368,"name":369,"field":352},"mobile-qa","Mobile QA",{"key":371,"name_tr":372,"name_en":372,"sort":373,"specializations":374},"data-engineer","Data Engineer",10,[375,376,379,382],{"key":197,"name":198,"field":371},{"key":377,"name":378,"field":371},"pipelines-etl","Pipelines \u002F ETL",{"key":380,"name":381,"field":371},"streaming","Streaming",{"key":383,"name":384,"field":371},"warehousing","Warehousing",{"key":386,"name_tr":387,"name_en":388,"sort":389,"specializations":390},"game-dev","Oyun Geliştirme","Game Development",11,[391,392,395,398,401,404],{"key":197,"name":198,"field":386},{"key":393,"name":394,"field":386},"unity-csharp","Unity (C#)",{"key":396,"name":397,"field":386},"unreal-cpp","Unreal (C++)",{"key":399,"name":400,"field":386},"gameplay","Gameplay",{"key":402,"name":403,"field":386},"graphics-rendering","Graphics \u002F Rendering",{"key":405,"name":406,"field":386},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":5,"name_tr":6,"name_en":6,"sort":408,"specializations":409},12,[410,411,412,413],{"key":197,"name":198,"field":5},{"key":99,"name":100,"field":5},{"key":8,"name":9,"field":5},{"key":102,"name":103,"field":5},[14,15,16],{"junior":416,"mid":418,"senior":419},{"questions":417,"median_sec":3},20,{"questions":417,"median_sec":3},{"questions":417,"median_sec":3},[421,10],"tr",[423,424],"google","github",28500,true]