<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sajjad Rahman</title>
    <description>The latest articles on DEV Community by Sajjad Rahman (@sajjadrahman56).</description>
    <link>https://dev.to/sajjadrahman56</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F905098%2Fdf184674-677d-46ab-aa2e-7cc7b1e07033.png</url>
      <title>DEV Community: Sajjad Rahman</title>
      <link>https://dev.to/sajjadrahman56</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sajjadrahman56"/>
    <language>en</language>
    <item>
      <title>Gaussian Processes &amp; Reproducibility</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Mon, 20 Apr 2026 06:53:38 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/gaussian-processes-reproducibility-l7k</link>
      <guid>https://dev.to/sajjadrahman56/gaussian-processes-reproducibility-l7k</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;Q1. Multivariate Normal Distribution&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A multivariate Gaussian is fully defined by:&lt;/p&gt;

&lt;p&gt;A. Mean only&lt;br&gt;
B. Covariance only&lt;br&gt;
C. Mean and covariance&lt;br&gt;
D. Variance only&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q2. Covariance Matrix Property&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The covariance matrix Σ must be:&lt;/p&gt;

&lt;p&gt;A. Negative&lt;br&gt;
B. Diagonal only&lt;br&gt;
C. Symmetric&lt;br&gt;
D. Random&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q3. Gaussian Process Definition&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A Gaussian Process is:&lt;/p&gt;

&lt;p&gt;A. Parametric model&lt;br&gt;
B. Deterministic function&lt;br&gt;
C. Distribution over functions&lt;br&gt;
D. Classification model&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q4. GP Output&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Gaussian Processes provide:&lt;/p&gt;

&lt;p&gt;A. Only prediction&lt;br&gt;
B. Only variance&lt;br&gt;
C. Prediction + uncertainty&lt;br&gt;
D. Only labels&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q5. Kernel Function Role&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The kernel defines:&lt;/p&gt;

&lt;p&gt;A. Mean&lt;br&gt;
B. Covariance structure&lt;br&gt;
C. Labels&lt;br&gt;
D. Loss function&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q6. Squared Exponential Kernel&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If x₁ = x₂, covariance is:&lt;/p&gt;

&lt;p&gt;A. 0&lt;br&gt;
B. 1&lt;br&gt;
C. ∞&lt;br&gt;
D. −1&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q7. Distance Effect on Covariance&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If |x₁ − x₂| increases:&lt;/p&gt;

&lt;p&gt;A. Covariance increases&lt;br&gt;
B. Covariance decreases&lt;br&gt;
C. No change&lt;br&gt;
D. Becomes negative&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q8. GP Length Scale (λ)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Large λ leads to:&lt;/p&gt;

&lt;p&gt;A. Wiggly function&lt;br&gt;
B. Smooth function&lt;br&gt;
C. Random output&lt;br&gt;
D. No prediction&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q9. Signal Variance (σ²f)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Increasing signal variance causes:&lt;/p&gt;

&lt;p&gt;A. Smaller outputs&lt;br&gt;
B. Larger variation&lt;br&gt;
C. No effect&lt;br&gt;
D. More noise&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q10. Noise Variance (σ²n)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Noise variance controls:&lt;/p&gt;

&lt;p&gt;A. Smoothness&lt;br&gt;
B. Data noise level&lt;br&gt;
C. Distance&lt;br&gt;
D. Kernel type&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q11. GP Model Characterisation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A GP is fully defined by:&lt;/p&gt;

&lt;p&gt;A. Kernel only&lt;br&gt;
B. Mean only&lt;br&gt;
C. Mean + covariance&lt;br&gt;
D. Hyperparameters only&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q12. One-vs-All Classification&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;For k classes, number of classifiers:&lt;/p&gt;

&lt;p&gt;A. 1&lt;br&gt;
B. k&lt;br&gt;
C. k²&lt;br&gt;
D. k(k−1)/2&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q13. One-vs-One Classification&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Number of classifiers:&lt;/p&gt;

&lt;p&gt;A. k&lt;br&gt;
B. k−1&lt;br&gt;
C. k(k−1)/2&lt;br&gt;
D. 2k&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q14. One-Hot Encoding&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A categorical variable with c values becomes:&lt;/p&gt;

&lt;p&gt;A. 1 variable&lt;br&gt;
B. c variables&lt;br&gt;
C. c² variables&lt;br&gt;
D. log(c) variables&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q15. Imbalanced Data Issue&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Models tend to:&lt;/p&gt;

&lt;p&gt;A. Underpredict majority class&lt;br&gt;
B. Overpredict majority class&lt;br&gt;
C. Ignore data&lt;br&gt;
D. Always balance&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q16. Undersampling&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Undersampling means:&lt;/p&gt;

&lt;p&gt;A. Adding data&lt;br&gt;
B. Removing majority samples&lt;br&gt;
C. Increasing noise&lt;br&gt;
D. Feature selection&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q17. Reproducibility Definition&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Reproducibility means:&lt;/p&gt;

&lt;p&gt;A. Same author repeats results&lt;br&gt;
B. Others reproduce results with own implementation&lt;br&gt;
C. Same dataset only&lt;br&gt;
D. Same code only&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q18. Repeatability&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Repeatability means:&lt;/p&gt;

&lt;p&gt;A. Others reproduce results&lt;br&gt;
B. Same author repeats experiment&lt;br&gt;
C. Different datasets&lt;br&gt;
D. Random runs&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q19. Random Seed&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Using same seed ensures:&lt;/p&gt;

&lt;p&gt;A. Different results&lt;br&gt;
B. Same results&lt;br&gt;
C. Faster training&lt;br&gt;
D. Better accuracy&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q20. McNemar’s Test&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Used for:&lt;/p&gt;

&lt;p&gt;A. Clustering&lt;br&gt;
B. Regression&lt;br&gt;
C. Comparing classifiers&lt;br&gt;
D. Feature selection&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C &lt;/p&gt;




</description>
      <category>ai</category>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Lagrange Multipliers</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Mon, 20 Apr 2026 06:49:54 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/lagrange-multipliers-11d8</link>
      <guid>https://dev.to/sajjadrahman56/lagrange-multipliers-11d8</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;Q1. Lagrange Multipliers&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;What condition holds at the optimum?&lt;/p&gt;

&lt;p&gt;A. ∇f(x) = 0&lt;br&gt;
B. ∇f(x) = Σ λᵢ∇gᵢ(x)&lt;br&gt;
C. g(x) = 1&lt;br&gt;
D. λᵢ = 0&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;br&gt;
👉 Gradients align at optimum &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q2. KKT Conditions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Which is TRUE?&lt;/p&gt;

&lt;p&gt;A. αᵢ &amp;lt; 0&lt;br&gt;
B. αᵢgᵢ(x*) = 1&lt;br&gt;
C. αᵢ ≥ 0&lt;br&gt;
D. Constraints are ignored&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q3. Hyperplane Definition&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A hyperplane satisfies:&lt;/p&gt;

&lt;p&gt;A. w·x + b = 0&lt;br&gt;
B. x² + y² = 1&lt;br&gt;
C. ∇x = 0&lt;br&gt;
D. y = mx²&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; A &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q4. Role of w in SVM&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The vector &lt;strong&gt;w&lt;/strong&gt; determines:&lt;/p&gt;

&lt;p&gt;A. Bias&lt;br&gt;
B. Orientation of hyperplane&lt;br&gt;
C. Number of classes&lt;br&gt;
D. Dataset size&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q5. Role of b&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The bias term controls:&lt;/p&gt;

&lt;p&gt;A. Orientation&lt;br&gt;
B. Distance metric&lt;br&gt;
C. Position of hyperplane&lt;br&gt;
D. Kernel&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q6. Support Vectors&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Support vectors are:&lt;/p&gt;

&lt;p&gt;A. All training points&lt;br&gt;
B. Points far from boundary&lt;br&gt;
C. Points on margin&lt;br&gt;
D. Random points&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q7. Margin Maximisation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;SVM maximises:&lt;/p&gt;

&lt;p&gt;A. ||w||&lt;br&gt;
B. 1 / ||w||&lt;br&gt;
C. Number of features&lt;br&gt;
D. Training error&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q8. Constraint for Correct Classification&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Which is correct?&lt;/p&gt;

&lt;p&gt;A. yᵢ(w·xᵢ + b) ≥ 1&lt;br&gt;
B. w·x = 0&lt;br&gt;
C. yᵢ = 0&lt;br&gt;
D. xᵢ ≥ 1&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; A&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q9. Dual Problem Uses&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The dual formulation depends on:&lt;/p&gt;

&lt;p&gt;A. Distances&lt;br&gt;
B. Inner products&lt;br&gt;
C. Gradients&lt;br&gt;
D. Labels only&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q10. Kernel Trick&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;What does a kernel do?&lt;/p&gt;

&lt;p&gt;A. Reduces data size&lt;br&gt;
B. Computes inner product in feature space&lt;br&gt;
C. Removes noise&lt;br&gt;
D. Normalises data&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q11. Kernel Function&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;k(x, y) represents:&lt;/p&gt;

&lt;p&gt;A. Distance&lt;br&gt;
B. Similarity&lt;br&gt;
C. Label&lt;br&gt;
D. Error&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q12. Soft Margin Parameter C&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Large C leads to:&lt;/p&gt;

&lt;p&gt;A. Wider margin&lt;br&gt;
B. More misclassification&lt;br&gt;
C. Narrow margin, fewer errors&lt;br&gt;
D. No effect&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q13. Small C Leads To&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A small C results in:&lt;/p&gt;

&lt;p&gt;A. Narrow margin&lt;br&gt;
B. Wide margin&lt;br&gt;
C. Overfitting&lt;br&gt;
D. No classification&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q14. Slack Variable ξᵢ&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If ξᵢ &amp;gt; 1:&lt;/p&gt;

&lt;p&gt;A. Correct classification&lt;br&gt;
B. Margin violation only&lt;br&gt;
C. Misclassification&lt;br&gt;
D. No effect&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q15. Inner Product&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The dot product is:&lt;/p&gt;

&lt;p&gt;A. Σ xᵢ²&lt;br&gt;
B. Σ wᵢxᵢ&lt;br&gt;
C. x + w&lt;br&gt;
D. ||x||&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q16. PCA Property&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Principal components are:&lt;/p&gt;

&lt;p&gt;A. Parallel&lt;br&gt;
B. Random&lt;br&gt;
C. Orthogonal&lt;br&gt;
D. Identical&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q17. Generalisation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Good generalisation means:&lt;/p&gt;

&lt;p&gt;A. Perfect training accuracy&lt;br&gt;
B. Good performance on unseen data&lt;br&gt;
C. Large dataset only&lt;br&gt;
D. High variance&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q18. KNN Curse of Dimensionality&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As dimensions increase:&lt;/p&gt;

&lt;p&gt;A. Performance improves&lt;br&gt;
B. Distance becomes more meaningful&lt;br&gt;
C. Performance worsens&lt;br&gt;
D. No change&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q19. K-Means Property&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Each iteration:&lt;/p&gt;

&lt;p&gt;A. Increases error&lt;br&gt;
B. Decreases or keeps SSE same&lt;br&gt;
C. Randomly changes clusters&lt;br&gt;
D. Stops immediately&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q20. Neural Gas&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Closest codevector (rank 0):&lt;/p&gt;

&lt;p&gt;A. Moves least&lt;br&gt;
B. Moves most&lt;br&gt;
C. Does not move&lt;br&gt;
D. Is removed&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B &lt;/p&gt;




</description>
      <category>ai</category>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>✅ MCQs</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Mon, 20 Apr 2026 06:47:46 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/mcqs-1llo</link>
      <guid>https://dev.to/sajjadrahman56/mcqs-1llo</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;Q1. Linear Models&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Which statement about linear models is correct?&lt;/p&gt;

&lt;p&gt;A. They always produce nonlinear decision boundaries&lt;br&gt;
B. They use a hyperplane as a decision surface&lt;br&gt;
C. They maximise classification accuracy directly&lt;br&gt;
D. They ignore input features&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;br&gt;
👉 From PDF: “The decision surface is a hyperplane.” &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q2. Sum of Squared Errors (SSE)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;What is the goal when training a linear model?&lt;/p&gt;

&lt;p&gt;A. Maximise likelihood&lt;br&gt;
B. Minimise SSE&lt;br&gt;
C. Maximise distance between points&lt;br&gt;
D. Minimise number of features&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;br&gt;
👉 Linear models minimise SSE &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q3. Effect of Outliers&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;What is true about samples far from the hyperplane?&lt;/p&gt;

&lt;p&gt;A. They have no effect&lt;br&gt;
B. They are ignored&lt;br&gt;
C. They have a stronger effect on the model&lt;br&gt;
D. They reduce variance&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;br&gt;
👉 “Samples far away from hyperplane have a stronger effect.” &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q4. Linear Separability&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When are data points typically linearly separable?&lt;/p&gt;

&lt;p&gt;A. When ( n \gg d )&lt;br&gt;
B. When ( n \le d + 1 )&lt;br&gt;
C. Always&lt;br&gt;
D. Never&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;br&gt;
👉 From PDF: separable when ( n \le d + 1 ) &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q5. KNN Prediction&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;What does KNN use to classify a new data point?&lt;/p&gt;

&lt;p&gt;A. Mean of all points&lt;br&gt;
B. Nearest neighbours&lt;br&gt;
C. Gradient descent&lt;br&gt;
D. Covariance matrix&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;br&gt;
👉 Based on nearest neighbours &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q6. Role of K in KNN&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;What is the effect of choosing a small K?&lt;/p&gt;

&lt;p&gt;A. Smooth decision boundary&lt;br&gt;
B. Linear boundary&lt;br&gt;
C. Highly flexible / irregular boundary&lt;br&gt;
D. No effect&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;br&gt;
👉 Small K → complex, irregular decision surfaces &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q7. Distance Metrics&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Which is NOT mentioned as a valid distance in KNN?&lt;/p&gt;

&lt;p&gt;A. Euclidean distance&lt;br&gt;
B. Manhattan distance&lt;br&gt;
C. Hamming distance&lt;br&gt;
D. Fourier distance&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; D&lt;br&gt;
👉 Others are listed in PDF &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q8. Curse of Dimensionality&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;What happens as dimensionality increases?&lt;/p&gt;

&lt;p&gt;A. Less data is needed&lt;br&gt;
B. Nearest neighbours become more meaningful&lt;br&gt;
C. Required training data increases exponentially&lt;br&gt;
D. Models become simpler&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; C&lt;br&gt;
👉 “Required amount of training examples increases exponentially” &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q9. Cross-Validation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;What is the purpose of cross-validation?&lt;/p&gt;

&lt;p&gt;A. Increase training error&lt;br&gt;
B. Evaluate model performance on unseen data&lt;br&gt;
C. Remove noise&lt;br&gt;
D. Reduce dimensionality&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;br&gt;
👉 Used for validation/testing &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Q10. Accuracy Definition&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Accuracy is defined as:&lt;/p&gt;

&lt;p&gt;A. TP / FP&lt;br&gt;
B. (TP + TN) / Total&lt;br&gt;
C. FN / Total&lt;br&gt;
D. TP / (TP + FN)&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Answer:&lt;/strong&gt; B&lt;br&gt;
👉 Standard accuracy formula &lt;/p&gt;

</description>
      <category>ai</category>
      <category>datascience</category>
      <category>learning</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>📘 Master Note: The Hidden Mechanics of PCA &amp; ICA</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Sat, 04 Apr 2026 09:17:13 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/master-note-the-hidden-mechanics-of-pca-ica-34f5</link>
      <guid>https://dev.to/sajjadrahman56/master-note-the-hidden-mechanics-of-pca-ica-34f5</guid>
      <description>&lt;p&gt;Understanding Whitening, SVD, and the Math that Powers Dimensionality Reduction.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Part 1: The Big Picture (Intuition)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before diving into complex algorithms like ICA, we need to understand the "behind-the-scenes" heroes that prepare and decompose our data.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Whitening: The Essential Pre-step for ICA&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Whitening prepares your data so that all variables are uncorrelated and have equal variance.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Goal:&lt;/strong&gt; Transform the data into a "decorrelated, equal-variance" form.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💡 The Intuition:&lt;/strong&gt; Imagine your data looks like a stretched, tilted "egg" (oval cloud).

&lt;ul&gt;
&lt;li&gt;After PCA: The egg is rotated straight.&lt;/li&gt;
&lt;li&gt;After Whitening: The egg becomes a perfect sphere.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Why bother?&lt;/strong&gt; ICA looks for independent signals. If data is already "spherical," ICA doesn't get distracted by the width or tilt of the data; it focuses entirely on finding non-Gaussian independence.&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. SVD: The Practical Engine of PCA&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;SVD is a mathematical powerhouse that decomposes any matrix $X$ into three parts:&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;X=UΣVT
X = U \Sigma V^T
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;U&lt;/span&gt;&lt;span class="mord"&gt;Σ&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;V&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;$U$&lt;/strong&gt;: Directions in data space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$\Sigma$&lt;/strong&gt;: The strengths (importance) of each direction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$V$&lt;/strong&gt;: The directions of the features (The Principal Components).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 2: The Mathematical Engine&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;How do we actually move from raw data to a "white" sphere or a PCA result?&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. The Whitening Transformation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If $X$ is your original centered data, we use the Eigenvalues ($D$) and Eigenvectors ($E$) to transform it:&lt;/p&gt;


&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;Xwhite=ED−1/2ETX
X_{white} = E D^{-1/2} E^T X
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;w&lt;/span&gt;&lt;span class="mord mathnormal mtight"&gt;hi&lt;/span&gt;&lt;span class="mord mathnormal mtight"&gt;t&lt;/span&gt;&lt;span class="mord mathnormal mtight"&gt;e&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;E&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;D&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord mtight"&gt;−&lt;/span&gt;&lt;span class="mord mtight"&gt;1/2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;E&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;The logic behind the math:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;$E^T$&lt;/strong&gt;: Rotates the data (PCA).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$D^{-1/2}$&lt;/strong&gt;: The "Magic Step." It scales every axis by its inverse standard deviation. It shrinks long axes and stretches short ones until they are equal.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. The SVD ↔ PCA Connection&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;You can reach Principal Components via two paths, but they lead to the same destination:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Path A (Classical PCA):&lt;/strong&gt; Find Eigenvectors of the Covariance Matrix:

&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;C=VΛVTC = V \Lambda V^T
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;C&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;V&lt;/span&gt;&lt;span class="mord"&gt;Λ&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;V&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Path B (Modern SVD):&lt;/strong&gt; Decompose $X$ directly:

&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;X=UΣVTX = U \Sigma V^T
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;U&lt;/span&gt;&lt;span class="mord"&gt;Σ&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;V&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;T&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The "Aha!" Moment:&lt;/strong&gt;&lt;br&gt;
The $V$ in SVD is identical to the $V$ (Eigenvectors) in PCA. The Singular Values ($\sigma$) are the square roots of the Eigenvalues ($\lambda$):&lt;/p&gt;


&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;λi=σi2n
\lambda_i = \frac{\sigma_i^2}{n}
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;λ&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mopen nulldelimiter"&gt;&lt;/span&gt;&lt;span class="mfrac"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="frac-line"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;σ&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mclose nulldelimiter"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  &lt;strong&gt;Part 3: Performance &amp;amp; Comparisons&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Why use SVD instead of Classical PCA?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In real-world data science, SVD is the industry standard for computing PCA.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Covariance (Classical)&lt;/th&gt;
&lt;th&gt;SVD (Modern)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Memory&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Requires $XX^T$ (can be massive)&lt;/td&gt;
&lt;td&gt;Works directly on $X$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Precision&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Squaring numbers loses small details&lt;/td&gt;
&lt;td&gt;Keeps high numerical precision&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Stability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Prone to rounding errors&lt;/td&gt;
&lt;td&gt;Highly stable and robust&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;🧠 Final Logic Map (Summary)&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Step 1:&lt;/strong&gt; Use &lt;strong&gt;SVD&lt;/strong&gt; to find the "skeleton" (Principal Components) of your data efficiently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step 2:&lt;/strong&gt; Apply &lt;strong&gt;Whitening&lt;/strong&gt; to turn your data cloud into a perfect sphere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step 3:&lt;/strong&gt; Run &lt;strong&gt;ICA&lt;/strong&gt; on that sphere to find hidden, independent signals.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🔥 Quick Memory:&lt;/strong&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Whitening:&lt;/strong&gt; "Make it a sphere before ICA."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SVD:&lt;/strong&gt; "The efficient engine that makes PCA work in the real world."&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

</description>
      <category>data</category>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>ai</category>
    </item>
    <item>
      <title>📘 The Science of Un-Mixing Data (PCA &amp; ICA)</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Sat, 04 Apr 2026 09:09:50 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/the-science-of-un-mixing-data-pca-ica-3775</link>
      <guid>https://dev.to/sajjadrahman56/the-science-of-un-mixing-data-pca-ica-3775</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Part 1: The Math Toolbox (Prerequisites)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before we can understand PCA and ICA, we need to understand the tools they use. Think of these as the "rules of the game" for handling data.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 Basic Concepts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Matrix (The Table):&lt;/strong&gt; Data is organized into a &lt;strong&gt;matrix&lt;/strong&gt;, which is just a giant grid of numbers. The &lt;strong&gt;columns&lt;/strong&gt; usually represent different types of measurements (like different microphones or cameras), and the &lt;strong&gt;rows&lt;/strong&gt; represent each specific moment in time we recorded.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Vector (The Arrow):&lt;/strong&gt; A single row or column from that table is called a &lt;strong&gt;vector&lt;/strong&gt;. Mathematically, a vector is like an arrow pointing to a specific spot in a multi-dimensional space.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Inner Product (The Shadow):&lt;/strong&gt; This is a way to multiply two vectors together. It tells us how much one vector "overlaps" with another. We use this to &lt;strong&gt;project&lt;/strong&gt; our data onto new axes to see it from a better angle.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Basis Vectors (The Directions):&lt;/strong&gt; These are the "original" directions we use to measure things, like the X and Y axes on a graph.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔹 Statistical Concepts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Covariance (Redundancy):&lt;/strong&gt; This measures how much two measurements "change together". If Measurement A always goes up when Measurement B goes up, they are &lt;strong&gt;redundant&lt;/strong&gt; (highly correlated), meaning we don't really need both.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;strong&gt;Covariance Equation (Added, not replacing anything):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;cov(A,B)=1n∑aibi
\text{cov}(A,B) = \frac{1}{n} \sum a_i b_i
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord text"&gt;&lt;span class="mord"&gt;cov&lt;/span&gt;&lt;/span&gt;&lt;span class="mopen"&gt;(&lt;/span&gt;&lt;span class="mord mathnormal"&gt;A&lt;/span&gt;&lt;span class="mpunct"&gt;,&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;B&lt;/span&gt;&lt;span class="mclose"&gt;)&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mopen nulldelimiter"&gt;&lt;/span&gt;&lt;span class="mfrac"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="frac-line"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mclose nulldelimiter"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mop op-symbol large-op"&gt;∑&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;a&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;b&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mathnormal mtight"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;





&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Gaussian Distribution (The Bell Curve):&lt;/strong&gt; This is a smooth, bell-shaped curve that represents "randomness" or "noise". The &lt;strong&gt;Central Limit Theorem&lt;/strong&gt; says that if you mix many different signals together, the result will always look like a Gaussian bell curve.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Kurtosis (The Peakedness):&lt;/strong&gt; This is a math score that measures how "sharp" or "peaked" a distribution of numbers is. A high kurtosis means the data has a sharp point, while a Gaussian curve has a kurtosis of zero.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 2: PCA (Principal Component Analysis)&lt;/strong&gt;
&lt;/h2&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;The Goal&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Goal:&lt;/strong&gt; To simplify a giant pile of data by finding the "best angle" to look at it.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;How it Works&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt; PCA looks at the &lt;strong&gt;Covariance Matrix&lt;/strong&gt; of the data to find where the measurements are repeating each other.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Eigenvectors and Eigenvalues:&lt;/strong&gt; PCA calculates special directions called &lt;strong&gt;eigenvectors&lt;/strong&gt;. The "largest" eigenvector points in the direction where the most "action" (variance) is happening.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Core Equation (Added)&lt;/strong&gt;
&lt;/h2&gt;


&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;P=D⋅E
P = D \cdot E
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;P&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;D&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mbin"&gt;⋅&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;E&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;(D): data matrix&lt;/li&gt;
&lt;li&gt;(E): eigenvectors of covariance&lt;/li&gt;
&lt;li&gt;(P): principal components&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Covariance becomes &lt;strong&gt;diagonal&lt;/strong&gt; after PCA&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Key Properties&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dimensionality Reduction:&lt;/strong&gt; By ignoring the tiny eigenvectors (which usually represent noise) and keeping only the big ones, we can make a huge data set much smaller without losing the important stuff.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Rule of Orthogonality:&lt;/strong&gt; In PCA, the new axes we find must always be &lt;strong&gt;orthogonal&lt;/strong&gt;—which is a fancy way of saying they must be at &lt;strong&gt;90-degree right angles&lt;/strong&gt; to each other.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Algorithm Steps (Added Section)&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  PCA Steps
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Center data (mean = 0)&lt;/li&gt;
&lt;li&gt;Compute covariance matrix&lt;/li&gt;
&lt;li&gt;Find eigenvectors&lt;/li&gt;
&lt;li&gt;Project data&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Why PCA Can Fail (Added Section)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;👉 PCA fails when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data is &lt;strong&gt;non-linear&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Or variance ≠ true structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ferris wheel → PCA cannot find circular motion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Add this line:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;PCA only captures &lt;strong&gt;linear structure&lt;/strong&gt;, ICA can handle more complex separation.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 3: ICA (Independent Component Analysis)&lt;/strong&gt;
&lt;/h2&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;The Goal&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Goal:&lt;/strong&gt; To solve the &lt;strong&gt;"Cocktail Party Problem"&lt;/strong&gt;—taking a messy mixture of signals and separating them into their original, clear sources.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;How it Works&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Blind Source Separation:&lt;/strong&gt; ICA is used when we have mixtures (like two microphones recording two people) but we don't know exactly how they were mixed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Weight Matrix ($W$):&lt;/strong&gt; ICA tries to find a mathematical "unmixing" tool called a &lt;strong&gt;weight matrix&lt;/strong&gt;. When we multiply our messy data by this matrix, the original signals should pop out.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Core Equation (Added)&lt;/strong&gt;
&lt;/h2&gt;


&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;Y=X⋅W
Y = X \cdot W
&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;Y&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;X&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mbin"&gt;⋅&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord mathnormal"&gt;W&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;(X): mixed signals&lt;/li&gt;
&lt;li&gt;(W): unmixing matrix&lt;/li&gt;
&lt;li&gt;(Y): independent sources&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This is &lt;strong&gt;THE most important ICA equation&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Key Concepts&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Search for Independence:&lt;/strong&gt; ICA is stricter than PCA. It doesn't just want the data to be "not repeating"; it wants the signals to be &lt;strong&gt;statistically independent&lt;/strong&gt;, meaning what happens in one signal tells you absolutely nothing about the other.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Non-Gaussianity (The Secret Trick):&lt;/strong&gt; Because mixed-up signals look like smooth bell curves, ICA rotates the data until it finds the directions with &lt;strong&gt;maximum kurtosis&lt;/strong&gt; (the most peaked shapes). A sharp peak usually means you've found a pure, unmixed source.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Improved understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mixtures → Gaussian (Central Limit Theorem)&lt;/li&gt;
&lt;li&gt;Sources → non-Gaussian (peaked)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Key idea:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ICA works because &lt;strong&gt;mixing makes data Gaussian, so unmixing looks for non-Gaussian signals&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flexibility:&lt;/strong&gt; Unlike PCA, the axes in ICA do &lt;strong&gt;not&lt;/strong&gt; have to be at right angles. They can point in any direction needed to find the sources.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Algorithm Steps (Added Section)&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ICA Steps
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Center + whiten data&lt;/li&gt;
&lt;li&gt;Initialize weights&lt;/li&gt;
&lt;li&gt;Maximize non-Gaussianity&lt;/li&gt;
&lt;li&gt;Iterate until convergence&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 4: PCA vs ICA (Added Comparison Table)&lt;/strong&gt;
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;PCA&lt;/th&gt;
&lt;th&gt;ICA&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Goal&lt;/td&gt;
&lt;td&gt;Max variance&lt;/td&gt;
&lt;td&gt;Independence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;Uncorrelated&lt;/td&gt;
&lt;td&gt;Independent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Axes&lt;/td&gt;
&lt;td&gt;Orthogonal&lt;/td&gt;
&lt;td&gt;Not required&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uses&lt;/td&gt;
&lt;td&gt;Compression&lt;/td&gt;
&lt;td&gt;Signal separation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Assumption&lt;/td&gt;
&lt;td&gt;Gaussian OK&lt;/td&gt;
&lt;td&gt;Non-Gaussian needed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;👉 Lecture explicitly says:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PCA → decorrelation&lt;/li&gt;
&lt;li&gt;ICA → independence (stronger)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Part 5: Why do we use these?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;These tools are used in many cool ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fetal Heart Monitoring:&lt;/strong&gt; Separating a baby's tiny heartbeat from the mother's much louder heartbeat.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EEG (Brain Waves):&lt;/strong&gt; Removing "trash" signals like eye blinks or heartbeats from recordings of brain activity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;fMRI (Brain Imaging):&lt;/strong&gt; Finding which specific parts of the brain are working together during a task.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Computer Vision:&lt;/strong&gt; Understanding how our eyes and brain recognize edges and shapes in the world around us.&lt;/li&gt;
&lt;/ol&gt;




</description>
      <category>machinelearning</category>
      <category>ai</category>
      <category>datascience</category>
      <category>data</category>
    </item>
    <item>
      <title>Stanford is Teaching the World to Code for Free!</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Wed, 25 Mar 2026 12:57:35 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/stanford-is-teaching-the-world-to-code-for-free-3hf5</link>
      <guid>https://dev.to/sajjadrahman56/stanford-is-teaching-the-world-to-code-for-free-3hf5</guid>
      <description>&lt;h2&gt;
  
  
  Learn Python from Stanford ** 🚀
&lt;/h2&gt;

&lt;p&gt;This isn't just a video course; it is a structured journey where you learn to build logic step-by-step with &lt;strong&gt;Chris and Mehran&lt;/strong&gt;. If you want to stop watching tutorials and start actually coding, here is why you should join &lt;strong&gt;&lt;a href="https://codeinplace.stanford.edu/public/join/cip6?r=ngqms6" rel="noopener noreferrer"&gt;Stanford’s Code in Place&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  What Makes This Course Unique?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Karel Phase:&lt;/strong&gt; You don't start with scary syntax. Instead, you command "Karel," a tiny robot, to master logic, loops, and problem-solving foundations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python Mastery:&lt;/strong&gt; The curriculum moves smoothly from basic Print and Input to advanced topics like control flow and graphics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creative Freedom:&lt;/strong&gt; You get to build your own projects, like a "Console" or the "Game of Nimm," giving you the confidence to create from scratch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data &amp;amp; Beyond:&lt;/strong&gt; You will master real-world techniques involving Lists, Dictionaries, and Graphics.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Best Part? The Community!
&lt;/h3&gt;

&lt;p&gt;You aren't learning alone. You are supported by a massive core team and amazing section leaders who help you at every step of the way. &lt;/p&gt;

&lt;h3&gt;
  
  
  Join the Movement!
&lt;/h3&gt;

&lt;p&gt;If you’re ready to take your first real step into programming, apply today. Use the link below to start your application:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Apply Now:&lt;/strong&gt; &lt;a href="https://codeinplace.stanford.edu/public/join/cip6?r=ngqms6" rel="noopener noreferrer"&gt;https://codeinplace.stanford.edu/public/join/cip6?r=ngqms6&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s learn and build together!&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>stanford</category>
      <category>python</category>
      <category>micropython</category>
    </item>
    <item>
      <title>Understanding cmd /c and cmd /k</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Wed, 07 Jan 2026 17:33:48 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/understanding-cmd-c-and-cmd-k-255</link>
      <guid>https://dev.to/sajjadrahman56/understanding-cmd-c-and-cmd-k-255</guid>
      <description>&lt;p&gt;When I started learning Command Prompt, I was very confused about &lt;code&gt;cmd /c&lt;/code&gt; and &lt;code&gt;cmd /k&lt;/code&gt;. Even after running the commands, everything looked the same, so I thought &lt;em&gt;nothing was executed&lt;/em&gt;. If you feel the same, this post is for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  First, understand this important point
&lt;/h3&gt;

&lt;p&gt;You are &lt;strong&gt;already inside a Command Prompt&lt;/strong&gt; when you see something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I:\ethical-test&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is your &lt;strong&gt;parent CMD&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  What actually happens when you run &lt;code&gt;cmd /k dir&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cmd /k dir
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What it does step by step:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your current CMD starts a &lt;strong&gt;new CMD (child CMD)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The new CMD executes the &lt;code&gt;dir&lt;/code&gt; command&lt;/li&gt;
&lt;li&gt;Because of &lt;code&gt;/k&lt;/code&gt;, the new CMD &lt;strong&gt;stays open&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Since the path and prompt look the same, it &lt;strong&gt;appears unchanged&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;In reality, you are now inside the &lt;strong&gt;child CMD&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can prove this by typing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;exit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will take you back to the parent CMD.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens when you run &lt;code&gt;cmd /c echo hello&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cmd /c echo hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A new CMD opens&lt;/li&gt;
&lt;li&gt;It runs &lt;code&gt;echo hello&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Prints &lt;code&gt;hello&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Immediately closes the new CMD&lt;/li&gt;
&lt;li&gt;Control returns to the parent CMD&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s why you only see the output and nothing else.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why this feels confusing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You are running &lt;strong&gt;CMD inside CMD&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Windows does not show any visual difference&lt;/li&gt;
&lt;li&gt;Same path, same prompt, same window&lt;/li&gt;
&lt;li&gt;Execution happens very fast&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So it &lt;em&gt;looks&lt;/em&gt; like nothing changed, but it actually did.&lt;/p&gt;

&lt;h3&gt;
  
  
  Simple rule to remember
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;cmd&lt;/code&gt; → creates a new Command Prompt&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/k&lt;/code&gt; → run command and &lt;strong&gt;keep CMD open&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/c&lt;/code&gt; → run command and &lt;strong&gt;close CMD immediately&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Final takeaway
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;cmd /c&lt;/code&gt; and &lt;code&gt;cmd /k&lt;/code&gt; &lt;strong&gt;do work correctly&lt;/strong&gt;.&lt;br&gt;
The confusion happens because beginners usually run them &lt;strong&gt;inside an already opened CMD&lt;/strong&gt;, so the difference is not visually obvious.&lt;/p&gt;

&lt;p&gt;If you understand this, most CMD-related confusion disappears.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>cli</category>
      <category>microsoft</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Windows CMD – File &amp; Directory Management</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Wed, 07 Jan 2026 16:42:37 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/windows-cmd-file-directory-management-2nof</link>
      <guid>https://dev.to/sajjadrahman56/windows-cmd-file-directory-management-2nof</guid>
      <description>&lt;p&gt;Windows CMD – File &amp;amp; Directory Management&lt;/p&gt;

&lt;h2&gt;
  
  
  1️⃣ Directory Basics (&lt;code&gt;dir&lt;/code&gt;)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Show files and folders
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Important entries&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;.&lt;/code&gt; → current directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;..&lt;/code&gt; → parent directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;DIR&amp;gt;&lt;/code&gt; → folder&lt;/li&gt;
&lt;li&gt;File size shown in bytes&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2️⃣ Creating Files with &lt;code&gt;echo&lt;/code&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Create a file with text
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"sajjad"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Read file content
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;type&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"sajjad"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ⚠ Why quotes appear?
&lt;/h3&gt;

&lt;p&gt;Because quotes are &lt;strong&gt;literal characters&lt;/strong&gt; inside &lt;code&gt;echo&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;✔ To avoid quotes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="kd"&gt;sajjad&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3️⃣ Creating an Empty (Blank) File – IMPORTANT CONCEPT
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Command used
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="kd"&gt;err&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ❓ Why is &lt;code&gt;2&lt;/code&gt; used here?
&lt;/h3&gt;

&lt;p&gt;This is &lt;strong&gt;error stream redirection&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stream&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Standard Input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Standard Output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Standard Error&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  What actually happens?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;echo&lt;/code&gt; produces &lt;strong&gt;no error&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Error stream (&lt;code&gt;2&lt;/code&gt;) is empty&lt;/li&gt;
&lt;li&gt;Empty stream redirected → file created with &lt;strong&gt;0 bytes&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✔ This is a &lt;strong&gt;CMD trick&lt;/strong&gt; to create an empty file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Better &amp;amp; common methods
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;type&lt;/span&gt; &lt;span class="kr"&gt;nul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;file&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;. &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;file&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fysp2dhlvf29sgly6d5z7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fysp2dhlvf29sgly6d5z7.png" alt="CMD" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  4️⃣ Deleting Files (&lt;code&gt;del&lt;/code&gt;)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;del&lt;/span&gt; &lt;span class="kd"&gt;na&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Check after deletion
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;type&lt;/span&gt; &lt;span class="kd"&gt;na&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The system cannot find the file specified.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔ File deleted successfully&lt;/p&gt;




&lt;h2&gt;
  
  
  5️⃣ Renaming Files (&lt;code&gt;rename&lt;/code&gt;)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;rename&lt;/span&gt; &lt;span class="kd"&gt;err&lt;/span&gt;.txt &lt;span class="kd"&gt;error&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔ File name changes only, content remains same&lt;/p&gt;




&lt;h2&gt;
  
  
  6️⃣ Creating &amp;amp; Moving Directories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Create directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="kd"&gt;samsaj&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Move file into directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;move&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt &lt;span class="kd"&gt;samsaj&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Change directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="kd"&gt;samsaj&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Go back
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  7️⃣ Path Symbols Explained
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Symbol&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Current directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;..&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Parent directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;\&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Windows path separator&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;move&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt .\samsaj
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  8️⃣ Copying Files (&lt;code&gt;copy&lt;/code&gt;)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;copy&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;.txt &lt;span class="kd"&gt;sajjad&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔ Creates duplicate file with same content&lt;/p&gt;




&lt;h2&gt;
  
  
  9️⃣ Removing Directories (&lt;code&gt;rmdir&lt;/code&gt;) – VERY IMPORTANT
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Delete empty directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;rmdir&lt;/span&gt; &lt;span class="kd"&gt;sam&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ❌ If directory is NOT empty
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="kd"&gt;The&lt;/span&gt; &lt;span class="kd"&gt;directory&lt;/span&gt; &lt;span class="kd"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="kd"&gt;empty&lt;/span&gt;.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ✔ Correct way to delete directory with files
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;rmdir&lt;/span&gt; &lt;span class="na"&gt;/S &lt;/span&gt;&lt;span class="kd"&gt;sam&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/S&lt;/code&gt; → deletes &lt;strong&gt;all files + subdirectories&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Confirmation required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;❌ Wrong commands (do not work):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;rmdir&lt;/span&gt; &lt;span class="na"&gt;-S &lt;/span&gt;&lt;span class="kd"&gt;sam&lt;/span&gt;
&lt;span class="nb"&gt;rmdir&lt;/span&gt; \S &lt;span class="kd"&gt;sam&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔟 Comparing Files (&lt;code&gt;fc&lt;/code&gt;)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;fc&lt;/span&gt; &lt;span class="kd"&gt;sajjad&lt;/span&gt;.txt &lt;span class="kd"&gt;samina&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output meaning
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Shows &lt;strong&gt;line-by-line differences&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Useful for file integrity checking&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  1️⃣1️⃣ Symbolic Links (Soft Links) – &lt;code&gt;mklink&lt;/code&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠ CMD must be &lt;strong&gt;Run as Administrator&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Create symbolic link
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;mklink&lt;/span&gt; &lt;span class="kd"&gt;linkfile&lt;/span&gt; &lt;span class="kd"&gt;file3&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Verify
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;SYMLINK&amp;gt; linkfile [file3.txt]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔ Both files point to same data&lt;br&gt;
✔ Reading/writing link affects original file&lt;/p&gt;


&lt;h2&gt;
  
  
  1️⃣2️⃣ Searching Files with &lt;code&gt;dir&lt;/code&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Search specific file recursively
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt; &lt;span class="na"&gt;/s &lt;/span&gt;&lt;span class="kd"&gt;torjan&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Search all &lt;code&gt;.txt&lt;/code&gt; files
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt; &lt;span class="na"&gt;/s &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  1️⃣3️⃣ Finding Files using &lt;code&gt;forfiles&lt;/code&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Command
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;forfiles&lt;/span&gt; &lt;span class="na"&gt;/P &lt;/span&gt;&lt;span class="kd"&gt;I&lt;/span&gt;:\ &lt;span class="na"&gt;/S /M &lt;/span&gt;&lt;span class="kd"&gt;torjan&lt;/span&gt;.txt &lt;span class="na"&gt;/C &lt;/span&gt;&lt;span class="s2"&gt;"cmd /c echo @PATH"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Flags explained
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Flag&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/P&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Starting directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/S&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Recursive search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/M&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Filename or pattern&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/C&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Command to run&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@PATH&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Full file path&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  ❗ Access denied errors?
&lt;/h3&gt;

&lt;p&gt;Normal behavior — system protected folders (&lt;code&gt;$RECYCLE.BIN&lt;/code&gt;, &lt;code&gt;System Volume Information&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;✔ File still found successfully.&lt;/p&gt;


&lt;h2&gt;
  
  
  1️⃣4️⃣ Finding Text Inside Files – &lt;code&gt;find&lt;/code&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  ❌ Wrong usage
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;find&lt;/span&gt; &lt;span class="s2"&gt;"pass"&lt;/span&gt; &lt;span class="kd"&gt;I&lt;/span&gt;:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  ✔ Correct usage
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;find&lt;/span&gt; &lt;span class="s2"&gt;"pass"&lt;/span&gt; &lt;span class="kd"&gt;filename&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;find&lt;/span&gt; &lt;span class="s2"&gt;"pass"&lt;/span&gt; &lt;span class="kd"&gt;I&lt;/span&gt;:\ethical&lt;span class="na"&gt;-test&lt;/span&gt;\samsaj\s299\s299.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pass : s299
pass : s265
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⚠ &lt;code&gt;find&lt;/code&gt; is &lt;strong&gt;case-sensitive&lt;/strong&gt; and basic&lt;/p&gt;




&lt;h2&gt;
  
  
  1️⃣5️⃣ Advanced Text Search – &lt;code&gt;findstr&lt;/code&gt; (Recommended)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Search word
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;findstr&lt;/span&gt; &lt;span class="s2"&gt;"pass"&lt;/span&gt; &lt;span class="kd"&gt;s299&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pass : s299
pass : s265
sam pass samina password
sajjad password pass
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Why &lt;code&gt;findstr&lt;/code&gt; is better?
&lt;/h3&gt;

&lt;p&gt;✔ Case-insensitive (by default)&lt;br&gt;
✔ Supports patterns&lt;br&gt;
✔ Searches multiple lines cleanly&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ Key Takeaways (Revision Summary)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;echo &amp;gt; file&lt;/code&gt; → creates file with content&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;echo 2&amp;gt; file&lt;/code&gt; → creates &lt;strong&gt;empty file via error redirection&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;type&lt;/code&gt; → read file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;del&lt;/code&gt; → delete file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;rename&lt;/code&gt; → rename file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mkdir&lt;/code&gt; / &lt;code&gt;rmdir&lt;/code&gt; → directory management&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/S&lt;/code&gt; is &lt;strong&gt;mandatory&lt;/strong&gt; to delete non-empty folders&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;fc&lt;/code&gt; → compare files&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mklink&lt;/code&gt; → symbolic link (admin required)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dir /s&lt;/code&gt; → recursive file search&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;forfiles&lt;/code&gt; → powerful file finder + executor&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;findstr&lt;/code&gt; → best for searching text inside files&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>microsoft</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Windows File System Navigation &amp; System Information</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Mon, 05 Jan 2026 09:47:25 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/windows-file-system-navigation-system-information-c2h</link>
      <guid>https://dev.to/sajjadrahman56/windows-file-system-navigation-system-information-c2h</guid>
      <description>&lt;h1&gt;
  
  
  📘 Windows File System Navigation &amp;amp; System Information
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;(Beginner-Friendly Notes for Ethical Hacking / Windows Basics)&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  1️⃣ Windows Command Line Basics (CMD)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Command Prompt (cmd.exe)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Windows command-line interface&lt;/li&gt;
&lt;li&gt;Used to navigate files, run commands, and gather system info&lt;/li&gt;
&lt;li&gt;Commands are &lt;strong&gt;NOT case-sensitive&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  cd desktop
  cd Desktop
  cd DESKTOP
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ All work the same, even though actual folder name is &lt;code&gt;Desktop&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  2️⃣ Changing Directories (&lt;code&gt;cd&lt;/code&gt; Command)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Move to Another Folder
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="kd"&gt;Desktop&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;➡️ Moves into the Desktop directory&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 Go Back One Level (Parent Directory)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔹 Go to Root Directory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; \
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\F C\Desktop&amp;gt; cd /
C:\&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ You are now in the &lt;strong&gt;root directory&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  3️⃣ Understanding Root Directory (&lt;code&gt;C:\&lt;/code&gt;)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Root directory = starting point of the Windows file system&lt;/li&gt;
&lt;li&gt;Example:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Common Root Folders
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Folder&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Windows&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OS files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Program Files&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;64-bit apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Program Files (x86)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;32-bit apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Users&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;User accounts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ProgramData&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Shared app data (hidden)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  4️⃣ Listing Files &amp;amp; Folders (&lt;code&gt;dir&lt;/code&gt; Command)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Basic Listing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 Shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Files&lt;/li&gt;
&lt;li&gt;Folders (&lt;code&gt;&amp;lt;DIR&amp;gt;&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;File size&lt;/li&gt;
&lt;li&gt;Date &amp;amp; time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✔️ &lt;code&gt;dir&lt;/code&gt; is a &lt;strong&gt;built-in command&lt;/strong&gt; in &lt;code&gt;cmd.exe&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔹 Directory Symbols
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Symbol&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Current directory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;..&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Parent directory&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  5️⃣ Showing Hidden Files (&lt;code&gt;dir /a&lt;/code&gt;)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Command
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;dir&lt;/span&gt; &lt;span class="na"&gt;/a
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 &lt;code&gt;/a&lt;/code&gt; = show &lt;strong&gt;ALL files&lt;/strong&gt;, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hidden&lt;/li&gt;
&lt;li&gt;System&lt;/li&gt;
&lt;li&gt;Junctions&lt;/li&gt;
&lt;li&gt;Symbolic links&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example Output Explained
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;SYMLINKD&amp;gt;  All Users -&amp;gt; C:\ProgramData
&amp;lt;JUNCTION&amp;gt; Default User -&amp;gt; C:\Users\Default
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ These are &lt;strong&gt;links&lt;/strong&gt;, not real folders&lt;/p&gt;




&lt;h2&gt;
  
  
  6️⃣ Windows Users Directory (&lt;code&gt;C:\Users&lt;/code&gt;)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Structure
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users
 ├── Public
 ├── F C
 ├── Default
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔹 Public Folder
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Shared by &lt;strong&gt;all users&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Any user can access files inside&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 User Folder (&lt;code&gt;F C&lt;/code&gt;)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Created at first login&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Desktop&lt;/li&gt;
&lt;li&gt;Documents&lt;/li&gt;
&lt;li&gt;Downloads&lt;/li&gt;
&lt;li&gt;AppData&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔹 Multiple Users in Windows
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Windows supports &lt;strong&gt;multiple users&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Each user has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Separate files&lt;/li&gt;
&lt;li&gt;Separate settings&lt;/li&gt;
&lt;li&gt;Separate &lt;strong&gt;Temp files&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\&amp;lt;username&amp;gt;\AppData\Local\Temp
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;📌 New users can be created from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Control Panel&lt;/li&gt;
&lt;li&gt;Settings → Accounts&lt;/li&gt;
&lt;li&gt;Or via admin commands&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  7️⃣ AppData Folder (Important for Hackers)
&lt;/h2&gt;

&lt;p&gt;📍 Path:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\F C\AppData
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Folder&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Local&lt;/td&gt;
&lt;td&gt;App cache, temp data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Roaming&lt;/td&gt;
&lt;td&gt;Syncable user data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LocalLow&lt;/td&gt;
&lt;td&gt;Low-privilege apps&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;📌 Hidden by default&lt;/p&gt;




&lt;h2&gt;
  
  
  8️⃣ System Information (&lt;code&gt;systeminfo&lt;/code&gt;)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Basic Command
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;systeminfo&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What It Shows
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;OS version&lt;/li&gt;
&lt;li&gt;Build number&lt;/li&gt;
&lt;li&gt;Installed hotfixes&lt;/li&gt;
&lt;li&gt;Hardware info&lt;/li&gt;
&lt;li&gt;Network info&lt;/li&gt;
&lt;li&gt;Boot time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✔️ Very useful for &lt;strong&gt;enumeration&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔹 Invalid Syntax Example (Corrected)
&lt;/h3&gt;

&lt;p&gt;❌ Wrong:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;systeminfo&lt;/span&gt; &lt;span class="na"&gt;-S
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ Correct:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;systeminfo&lt;/span&gt; &lt;span class="na"&gt;/S &lt;/span&gt;&lt;span class="kd"&gt;system_name&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 Help Menu
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;systeminfo&lt;/span&gt; /&lt;span class="o"&gt;?&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shows all valid options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/S&lt;/code&gt; → Remote system&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/U&lt;/code&gt; → Username&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/P&lt;/code&gt; → Password&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/FO&lt;/code&gt; → Output format (TABLE / LIST / CSV)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  9️⃣ Environment Variables
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Linux vs Windows Syntax
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;OS&lt;/th&gt;
&lt;th&gt;Syntax&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Linux&lt;/td&gt;
&lt;td&gt;&lt;code&gt;$USER&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Windows&lt;/td&gt;
&lt;td&gt;&lt;code&gt;%USERNAME%&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;❌ Wrong:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; $username
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✔️ Correct:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;%username%&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;F C
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 View All Variables
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="kd"&gt;set&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 Custom Variable Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="kd"&gt;set&lt;/span&gt; &lt;span class="kd"&gt;samina&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sajjad"&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;%samina%&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📌 Variables set like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are &lt;strong&gt;temporary&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Reset after closing CMD&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔟 External System Tools (Sysinternals)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔹 Why Needed?
&lt;/h3&gt;

&lt;p&gt;Some commands like &lt;code&gt;psinfo&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ Not built-in&lt;/li&gt;
&lt;li&gt;✔️ Must be downloaded&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔹 Sysinternals Suite
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Official Microsoft tools&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;System enumeration&lt;/li&gt;
&lt;li&gt;Process analysis&lt;/li&gt;
&lt;li&gt;Memory inspection&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;📥 Download:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://learn.microsoft.com/en-us/sysinternals/downloads
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔹 Example: &lt;code&gt;psinfo&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uptime&lt;/li&gt;
&lt;li&gt;Kernel version&lt;/li&gt;
&lt;li&gt;CPU info&lt;/li&gt;
&lt;li&gt;RAM&lt;/li&gt;
&lt;li&gt;Video driver&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✔️ Useful for &lt;strong&gt;post-exploitation enumeration&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  1️⃣1️⃣ Key Takeaways (Quick Revision)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;cd&lt;/code&gt; → change directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cd /&lt;/code&gt; → root directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dir&lt;/code&gt; → list files&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dir /a&lt;/code&gt; → show hidden files&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;%USERNAME%&lt;/code&gt; → Windows variable syntax&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;systeminfo&lt;/code&gt; → OS &amp;amp; hardware info&lt;/li&gt;
&lt;li&gt;Sysinternals → advanced enumeration tools&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Each Windows user has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Separate profile&lt;/li&gt;
&lt;li&gt;Separate temp files&lt;/li&gt;
&lt;li&gt;Separate AppData&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




</description>
      <category>microsoft</category>
      <category>windows</category>
      <category>basic</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>DP-600 Fabric Analytics Engineer – Structured Study Notes</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Sat, 06 Dec 2025 16:23:49 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/dp-600-fabric-analytics-engineer-structured-study-notes-2ban</link>
      <guid>https://dev.to/sajjadrahman56/dp-600-fabric-analytics-engineer-structured-study-notes-2ban</guid>
      <description>&lt;h1&gt;
  
  
  DP-600 Fabric Analytics Engineer – Structured Study Notes
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;(Governance, Admin, Lifecycle, Data Prep, Semantic Models)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  0. Big Picture – What DP-600 Expects From You
&lt;/h2&gt;

&lt;p&gt;The DP-600 exam is about &lt;strong&gt;designing, building, governing, and optimizing analytics solutions in Microsoft Fabric&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At a high level you must be able to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Maintain a data analytics solution&lt;/strong&gt;&lt;br&gt;
– Governance, security, admin, lifecycle, impact analysis&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prepare data&lt;/strong&gt;&lt;br&gt;
– Ingest, transform, store in Lakehouse/Warehouse/KQL DB, apply patterns like incremental and CDC&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Implement and manage semantic models&lt;/strong&gt;&lt;br&gt;
– Modeling, storage modes, DAX basics, RLS/OLS, performance&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This note focuses on all the topics you listed and ties them together with exam-style thinking.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Maintain a Data Analytics Solution
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;(Governance, Admin, Lifecycle)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This area covers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Security &amp;amp; governance (access, RLS/CLS/OLS, sensitivity labels, endorsement)&lt;/li&gt;
&lt;li&gt;Admin: workspaces, capacities, roles&lt;/li&gt;
&lt;li&gt;Development lifecycle: Git, PBIP, deployment pipelines, XMLA&lt;/li&gt;
&lt;li&gt;Monitoring &amp;amp; impact analysis (lineage)&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  1.1 Security &amp;amp; Access Control in Fabric
&lt;/h2&gt;

&lt;p&gt;Security is layered. Think about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Workspace-level roles&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Item-level permissions&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data-level security (RLS/CLS/OLS)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File-level security&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sensitivity labels&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Endorsement&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  1.1.a Workspace-Level Access
&lt;/h3&gt;

&lt;p&gt;Each workspace has &lt;strong&gt;roles&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Admin&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full control over the workspace&lt;/li&gt;
&lt;li&gt;Can change settings, add/remove users, delete items&lt;/li&gt;
&lt;li&gt;Used by platform owners / team leads&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Member / Contributor&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can &lt;strong&gt;create and edit items&lt;/strong&gt; (Lakehouse, Dataflow, Reports, Pipelines, Notebooks)&lt;/li&gt;
&lt;li&gt;Cannot change workspace-level admin settings (like capacity)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Viewer&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read-only access: can view reports, dashboards, semantic models, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cannot&lt;/strong&gt; create, edit, or publish new items&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Common exam scenario:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“A user can open a report but cannot edit it or create a new dataflow in the same workspace. What is the likely cause?”&lt;/em&gt;&lt;br&gt;
→ The user is a &lt;strong&gt;Viewer&lt;/strong&gt; and needs at least &lt;strong&gt;Contributor/Member&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.1.b Item-Level Permissions &amp;amp; Build
&lt;/h3&gt;

&lt;p&gt;Even inside a workspace, every &lt;strong&gt;item&lt;/strong&gt; has its own permissions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouse&lt;/li&gt;
&lt;li&gt;Warehouse&lt;/li&gt;
&lt;li&gt;Semantic model (dataset)&lt;/li&gt;
&lt;li&gt;Report&lt;/li&gt;
&lt;li&gt;Notebook&lt;/li&gt;
&lt;li&gt;Dataflow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A user might be &lt;strong&gt;Contributor&lt;/strong&gt; on the workspace but still:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cannot use a semantic model to build new reports&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cannot Analyze in Excel&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key concept is &lt;strong&gt;Build permission&lt;/strong&gt; on the semantic model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build permission is required to:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create &lt;strong&gt;new reports&lt;/strong&gt; from a semantic model&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Analyze in Excel&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Use the semantic model from &lt;strong&gt;another workspace&lt;/strong&gt; (when cross-workspace is allowed)&lt;/li&gt;
&lt;li&gt;Allow composite models based on that dataset&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“User can view a report but cannot use ‘Analyze in Excel’ or create a new report from the dataset.”&lt;/em&gt;&lt;br&gt;
→ They are missing &lt;strong&gt;Build permission&lt;/strong&gt; on the semantic model.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.1.c RLS, CLS, OLS &amp;amp; File-Level Security
&lt;/h3&gt;

&lt;p&gt;Security doesn’t stop at item level; it also applies to &lt;strong&gt;data inside the model&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Row-Level Security (RLS)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Restricts &lt;strong&gt;which rows&lt;/strong&gt; a user can see.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User in “Bangladesh” role only sees rows where &lt;code&gt;Country = 'BD'&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Implemented in the &lt;strong&gt;semantic model&lt;/strong&gt; (Power BI dataset / Fabric semantic model).&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Column-Level Security (CLS)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Controls &lt;strong&gt;which columns&lt;/strong&gt; a user can see.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hide &lt;code&gt;Salary&lt;/code&gt;, &lt;code&gt;SSN&lt;/code&gt;, &lt;code&gt;PhoneNumber&lt;/code&gt; from certain roles.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Object-Level Security (OLS)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Hides entire &lt;strong&gt;tables&lt;/strong&gt; or &lt;strong&gt;columns&lt;/strong&gt; from users or roles.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Finance table is completely hidden from Sales users.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  File-Level Security (OneLake / Files)
&lt;/h4&gt;

&lt;p&gt;In Fabric:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Lakehouse has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tables&lt;/strong&gt; → usually accessed via SQL endpoint &amp;amp; semantic model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Files&lt;/strong&gt; → raw storage in OneLake filesystem&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;You can secure Files separately:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A user might:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Query tables via semantic model&lt;/li&gt;
&lt;li&gt;But &lt;strong&gt;not be allowed&lt;/strong&gt; to browse the Lakehouse &lt;strong&gt;Files&lt;/strong&gt; section&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;That requires &lt;strong&gt;filesystem / OneLake permissions&lt;/strong&gt;, which are separate.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“User can query a Lakehouse table via the SQL endpoint but cannot open the Files area in the Lakehouse.”&lt;/em&gt;&lt;br&gt;
→ They are missing &lt;strong&gt;file-system permission on OneLake&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.1.d Sensitivity Labels (Purview Integration)
&lt;/h3&gt;

&lt;p&gt;Sensitivity labels classify and protect data. Common examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Public&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;General&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Confidential&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Highly Confidential – No Export&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once applied to semantic models, reports, etc., labels can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Block &lt;strong&gt;Export to Excel / CSV&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Block &lt;strong&gt;Publish to web&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Restrict &lt;strong&gt;external sharing&lt;/strong&gt; (especially with encrypted labels)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Important admin settings include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Allow users to apply sensitivity labels&lt;/strong&gt;&lt;br&gt;
– Without this, labels aren’t available in Fabric.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automatically apply sensitivity labels to downstream content&lt;/strong&gt;&lt;br&gt;
– A label applied to a semantic model can propagate to reports, dashboards, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Allow Microsoft Purview to secure AI interactions&lt;/strong&gt;&lt;br&gt;
– Controls whether Copilot/AI can interact with labeled data under Purview governance.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“After applying a label to a report, users can view it but can no longer export the data. Why?”&lt;/em&gt;&lt;br&gt;
→ The label (e.g., &lt;strong&gt;Highly Confidential – No Export&lt;/strong&gt;) is configured to &lt;strong&gt;block export&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.1.e Endorsement: Promoted &amp;amp; Certified
&lt;/h3&gt;

&lt;p&gt;Endorsement helps users know which data they can trust.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Promoted&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Indicates &lt;strong&gt;team-level / local&lt;/strong&gt; confidence&lt;/li&gt;
&lt;li&gt;Suggestion: “This is useful, but not centrally governed.”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Certified&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Indicates &lt;strong&gt;organization-level&lt;/strong&gt; endorsement&lt;/li&gt;
&lt;li&gt;Represents &lt;strong&gt;single source of truth&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Generally restricted to a set of &lt;strong&gt;data stewards / admins&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Endorsed items typically show in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data hub&lt;/li&gt;
&lt;li&gt;OneLake data explorer&lt;/li&gt;
&lt;li&gt;Search and discovery areas&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“The central BI team wants certain semantic models to be recognized as single sources of truth across the organization. What should they use?”&lt;/em&gt;&lt;br&gt;
→ Use &lt;strong&gt;Certification&lt;/strong&gt; with appropriate governance.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  1.2 Admin &amp;amp; Governance: Tenant, Capacity, Workspace
&lt;/h2&gt;

&lt;p&gt;A lot of DP-600 questions are about &lt;strong&gt;“which setting to change?”&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The mental model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tenant&lt;/strong&gt; = organization-wide policies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Capacity&lt;/strong&gt; = compute configuration (F64, F128, Premium)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workspace&lt;/strong&gt; = team/project scope&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tenant
&lt;/h3&gt;

&lt;p&gt;Controls global features like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether &lt;strong&gt;Fabric is enabled&lt;/strong&gt; at all&lt;/li&gt;
&lt;li&gt;Whether &lt;strong&gt;users can create Fabric items&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Export policies (Excel/CSV, PBIX download)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Guest users and external sharing&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Sensitivity labels and Purview/AI integration&lt;/li&gt;
&lt;li&gt;Trial activation (“Users can try Fabric paid features”)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Think: “This affects everyone / every workspace” → Tenant.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Capacity
&lt;/h3&gt;

&lt;p&gt;Controls the &lt;strong&gt;compute resources and workloads&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Type of capacity: Fabric F-SKU, Power BI Premium, Embedded, etc.&lt;/li&gt;
&lt;li&gt;Region and SKU size (F64, F128, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Workload settings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spark / Data Engineering&lt;/li&gt;
&lt;li&gt;Dataflows&lt;/li&gt;
&lt;li&gt;Pipelines&lt;/li&gt;
&lt;li&gt;DirectLake / cache behavior&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Ability to &lt;strong&gt;pause&lt;/strong&gt; and &lt;strong&gt;resume&lt;/strong&gt; capacity&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Concurrency limits and memory settings&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Common issues:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dataflows stuck in queue → capacity under pressure / workload disabled&lt;/li&gt;
&lt;li&gt;Notebooks fail to start → Spark capacity exhausted&lt;/li&gt;
&lt;li&gt;DirectLake becomes slow → capacity overloaded, cache eviction&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Workspace
&lt;/h3&gt;

&lt;p&gt;The workspace ties everything together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assigned to a &lt;strong&gt;capacity&lt;/strong&gt; (shared vs Fabric/Premium)&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Used by teams to store:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouses&lt;/li&gt;
&lt;li&gt;Warehouses&lt;/li&gt;
&lt;li&gt;Dataflows&lt;/li&gt;
&lt;li&gt;Pipelines&lt;/li&gt;
&lt;li&gt;Semantic models&lt;/li&gt;
&lt;li&gt;Reports&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Key points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Shared capacity&lt;/strong&gt; workspaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can host Power BI content (reports, datasets, dashboards)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cannot&lt;/strong&gt; host Fabric items like Lakehouse, Warehouse, Dataflow Gen2, Notebooks, Pipelines, DirectLake&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Fabric/Premium capacity&lt;/strong&gt; workspaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can use the full Fabric experiences.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam pattern:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“A workspace does not show the option to create a Lakehouse or Dataflow Gen2, but users can still create reports.”&lt;/em&gt;&lt;br&gt;
→ The workspace is on &lt;strong&gt;Shared capacity&lt;/strong&gt; &lt;em&gt;or&lt;/em&gt; tenant has disabled &lt;strong&gt;Users can create Fabric items&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  1.3 Analytics Development Lifecycle (CI/CD, Versioning)
&lt;/h2&gt;

&lt;p&gt;This part is about acting like a &lt;strong&gt;real analytics engineer&lt;/strong&gt;, not just building in the UI.&lt;/p&gt;

&lt;p&gt;Key areas:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Version control with Git&lt;/li&gt;
&lt;li&gt;PBIX vs PBIP/PBIR&lt;/li&gt;
&lt;li&gt;Deployment pipelines (Dev → Test → Prod)&lt;/li&gt;
&lt;li&gt;XMLA endpoint&lt;/li&gt;
&lt;li&gt;Impact analysis / lineage&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  1.3.a Version Control with Git
&lt;/h3&gt;

&lt;p&gt;Fabric supports &lt;strong&gt;Git integration&lt;/strong&gt; for workspaces, so you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connect a Fabric workspace to a Git repository&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Store:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reports as &lt;strong&gt;PBIP / PBIR&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Notebooks as &lt;code&gt;.ipynb&lt;/code&gt; or scripts&lt;/li&gt;
&lt;li&gt;SQL scripts&lt;/li&gt;
&lt;li&gt;Pipeline definitions as code&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Team collaboration&lt;/li&gt;
&lt;li&gt;Pull request (PR)-based code review&lt;/li&gt;
&lt;li&gt;History &amp;amp; rollback&lt;/li&gt;
&lt;li&gt;Integration into DevOps/CI/CD pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Exam-view: DP-600 expects you to know &lt;strong&gt;why Git integration is useful&lt;/strong&gt;, not every click.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.3.b PBIX vs PBIP / PBIR
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;PBIX&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Binary file&lt;/li&gt;
&lt;li&gt;Traditional Power BI format&lt;/li&gt;
&lt;li&gt;Harder to source control (large monolithic file)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;PBIP / PBIR&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text-based project structure&lt;/li&gt;
&lt;li&gt;Separates metadata, model, and report layout into files/folders&lt;/li&gt;
&lt;li&gt;Much easier for Git and automated deployments&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For DP-600, you must understand:&lt;br&gt;
&lt;strong&gt;PBIP/PBIR = Git-friendly&lt;/strong&gt; representation of Power BI content.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.3.c Deployment Pipelines
&lt;/h3&gt;

&lt;p&gt;Deployment pipelines support &lt;strong&gt;stage-based promotion&lt;/strong&gt; of content:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Typical stages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Development → Test → Production&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;You can deploy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Semantic models (datasets)&lt;/li&gt;
&lt;li&gt;Reports&lt;/li&gt;
&lt;li&gt;Dashboards&lt;/li&gt;
&lt;li&gt;Some Fabric items (or via scripts/automation)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key ideas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Rules / parameters&lt;/strong&gt; per stage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Different data source connections per environment (Dev DB vs Prod DB)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Ensuring changes are &lt;strong&gt;tested&lt;/strong&gt; in Test before going to Production&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Automatic or manual deployment flows&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Exam scenario:&lt;br&gt;
&lt;em&gt;“You must promote changes from Dev to Prod while pointing to different databases. What feature should you use?”&lt;/em&gt;&lt;br&gt;
→ Deployment pipelines with &lt;strong&gt;rules&lt;/strong&gt; for data source bindings.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.3.d XMLA Endpoint (for Semantic Models)
&lt;/h3&gt;

&lt;p&gt;XMLA endpoint allows enterprise management of semantic models using external tools like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tabular Editor&lt;/li&gt;
&lt;li&gt;SQL Server Management Studio (SSMS)&lt;/li&gt;
&lt;li&gt;Scripts for deployment and partition management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Typical actions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Partitioning large tables&lt;/li&gt;
&lt;li&gt;Incremental refresh control&lt;/li&gt;
&lt;li&gt;Advanced calculation groups&lt;/li&gt;
&lt;li&gt;Scripting deployments (e.g., ALM Toolkit, DevOps pipelines)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For DP-600, you need conceptual understanding:&lt;br&gt;
XMLA endpoint = &lt;strong&gt;enterprise-grade control and automation&lt;/strong&gt; for Fabric/Power BI semantic models.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  1.3.e Impact Analysis &amp;amp; Lineage
&lt;/h3&gt;

&lt;p&gt;Impact analysis means understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;If I change this object, what breaks?&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fabric offers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lineage view&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shows flow: Data source → Dataflow → Lakehouse/Warehouse → Semantic model → Reports&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Before changing a table schema&lt;/li&gt;
&lt;li&gt;Before deleting a Dataflow or Lakehouse&lt;/li&gt;
&lt;li&gt;Before renaming columns or tables&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Exam pattern:&lt;br&gt;
&lt;em&gt;“You plan to change a Lakehouse table schema and want to ensure you understand which semantic models and reports will be affected. What should you use?”&lt;/em&gt;&lt;br&gt;
→ Use &lt;strong&gt;lineage view&lt;/strong&gt; or &lt;strong&gt;impact analysis&lt;/strong&gt; tools in Fabric.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  2. Prepare Data (Largest Weight in Exam)
&lt;/h2&gt;

&lt;p&gt;This is the “heart” of DP-600:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ingest data&lt;/li&gt;
&lt;li&gt;Transform data&lt;/li&gt;
&lt;li&gt;Store/serve data in Lakehouse / Warehouse / KQL DB&lt;/li&gt;
&lt;li&gt;Design data processing patterns (incremental, CDC, real-time)&lt;/li&gt;
&lt;li&gt;Enforce data quality and business rules&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2.1 Ingest Data into Fabric
&lt;/h3&gt;

&lt;p&gt;Main tools:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Data Factory (Fabric Data Factory experience)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dataflow Gen2&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spark Notebooks&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shortcuts (zero-copy)&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  a) Data Factory
&lt;/h4&gt;

&lt;p&gt;Fabric Data Factory is the &lt;strong&gt;orchestration &amp;amp; ingestion&lt;/strong&gt; engine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Copy Activity&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Move data from source to destination (e.g., SQL → Lakehouse, Blob → Warehouse)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Pipeline templates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prebuilt patterns (e.g., copy new files daily, ingest from SaaS, etc.)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Supports hundreds of connectors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL Server, Azure SQL, ADLS, Blob, Salesforce, etc.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Use Data Factory when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need &lt;strong&gt;pure data movement (ELT)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You orchestrate multiple steps and sources&lt;/li&gt;
&lt;li&gt;You want scheduled ingestion pipelines&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  b) Dataflow Gen2
&lt;/h4&gt;

&lt;p&gt;Dataflow Gen2 is &lt;strong&gt;Power Query Online&lt;/strong&gt; in Fabric:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Perform transformations (cleaning, shaping) using Power Query&lt;/li&gt;
&lt;li&gt;Define &lt;strong&gt;ETL&lt;/strong&gt; logic in a friendly GUI&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Output to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouse tables&lt;/li&gt;
&lt;li&gt;Warehouse tables&lt;/li&gt;
&lt;li&gt;KQL Databases&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Typical use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business-friendly transformation definitions&lt;/li&gt;
&lt;li&gt;Creating conformed dimension tables (e.g., DimCustomer)&lt;/li&gt;
&lt;li&gt;Reusable data preparation logic&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  c) Spark Notebooks
&lt;/h4&gt;

&lt;p&gt;Spark notebooks are for &lt;strong&gt;big data engineering&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Language options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PySpark, Scala, Spark SQL&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Use cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Large-scale joins and transforms&lt;/li&gt;
&lt;li&gt;Processing semi-structured or unstructured data&lt;/li&gt;
&lt;li&gt;Machine learning and advanced analytics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Write results into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delta tables in the Lakehouse&lt;/li&gt;
&lt;li&gt;Files (Parquet, CSV, etc.)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h4&gt;
  
  
  d) Shortcuts (Zero-Copy)
&lt;/h4&gt;

&lt;p&gt;Shortcuts let you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reference&lt;/strong&gt; data in external storage (ADLS Gen2, S3, other OneLake accounts)&lt;/li&gt;
&lt;li&gt;Without copying data into your Lakehouse&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of a shortcut as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A &lt;em&gt;pointer&lt;/em&gt; to external data, not a copy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Use for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Central governance (single copy of data)&lt;/li&gt;
&lt;li&gt;Multi-domain or multi-tenant architectures&lt;/li&gt;
&lt;li&gt;Simplifying multi-region data access&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2.2 Transform Data
&lt;/h3&gt;

&lt;p&gt;Three main transformation engines:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Dataflow Gen2 (Power Query)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spark Notebooks&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;T-SQL in Warehouse / SQL Endpoint&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  1) Dataflow Gen2
&lt;/h4&gt;

&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business-friendly logic&lt;/li&gt;
&lt;li&gt;Medium-size data&lt;/li&gt;
&lt;li&gt;Tabular transformations&lt;/li&gt;
&lt;li&gt;Slowly changing dimensions (when combined with logic)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean column names, change data types&lt;/li&gt;
&lt;li&gt;Merge (join) multiple sources&lt;/li&gt;
&lt;li&gt;Filter out errors&lt;/li&gt;
&lt;li&gt;Create calculated columns (e.g., &lt;code&gt;MonthNumber = Date.Month([OrderDate])&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  2) Spark Notebooks
&lt;/h4&gt;

&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Very large datasets&lt;/li&gt;
&lt;li&gt;Complex transformations where M/Power Query is limiting&lt;/li&gt;
&lt;li&gt;Streaming + batch&lt;/li&gt;
&lt;li&gt;AI/ML workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use PySpark to message large tables&lt;/li&gt;
&lt;li&gt;Optimize with Delta features (OPTIMIZE, VACUUM)&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  3) T-SQL (Warehouse / SQL Endpoint)
&lt;/h4&gt;

&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Teams with strong &lt;strong&gt;SQL skills&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;ELT patterns (Load raw → Clean → Transform using SQL)&lt;/li&gt;
&lt;li&gt;Dimensional modeling inside Warehouse (Dim/Fact tables)&lt;/li&gt;
&lt;li&gt;Creating views and stored procedures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write SQL scripts&lt;/li&gt;
&lt;li&gt;Use them in pipelines as &lt;strong&gt;SQL script activities&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Build business logic in the Warehouse itself&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam angle:&lt;/strong&gt;&lt;br&gt;
You must choose the &lt;strong&gt;right engine&lt;/strong&gt; for each scenario:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Business user ETL? → Dataflow Gen2&lt;/li&gt;
&lt;li&gt;Heavy big data &amp;amp; ML? → Spark notebooks&lt;/li&gt;
&lt;li&gt;Standard enterprise SQL team? → T-SQL in Warehouse&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  2.3 Lakehouse vs Warehouse (Plus KQL DB)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Lakehouse
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Combines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Files&lt;/strong&gt; (raw storage)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tables&lt;/strong&gt; (Delta format)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Medallion architecture:&lt;/li&gt;
&lt;li&gt;Bronze (raw)&lt;/li&gt;
&lt;li&gt;Silver (cleaned)&lt;/li&gt;
&lt;li&gt;Gold (business)&lt;/li&gt;
&lt;li&gt;Big data, semi-structured files, logs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Works best with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spark notebooks&lt;/li&gt;
&lt;li&gt;Dataflow Gen2&lt;/li&gt;
&lt;li&gt;DirectLake-based semantic models&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Warehouse
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;SQL-first experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tables, views, stored procedures&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Structured, relational modeling&lt;/li&gt;
&lt;li&gt;Enterprise reporting, financial analytics&lt;/li&gt;
&lt;li&gt;Teams strong in SQL&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Serves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Semantic models&lt;/li&gt;
&lt;li&gt;Reports directly via SQL engine&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Typical exam scenario:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Customer 360 view, finance, heavily structured reporting, strong SQL skills → choose &lt;strong&gt;Warehouse&lt;/strong&gt;.”&lt;/li&gt;
&lt;li&gt;“High-volume logs, clickstream, semi-structured events → choose &lt;strong&gt;Lakehouse + Spark&lt;/strong&gt;.”&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  KQL Database (Kusto Query Language)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Optimized for &lt;strong&gt;log and time-series analytics&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time telemetry&lt;/li&gt;
&lt;li&gt;Observability data&lt;/li&gt;
&lt;li&gt;Operational analytics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  2.4 Patterns: Incremental, CDC, Real-Time
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Incremental Load
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Process &lt;strong&gt;only new or changed data&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;li&gt;Cost&lt;/li&gt;
&lt;li&gt;Reduced load windows&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dataflow Gen2 with incremental refresh policy (by date column)&lt;/li&gt;
&lt;li&gt;SQL-based approaches using &lt;code&gt;LastModifiedDate&lt;/code&gt; watermark&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Change Data Capture (CDC) / Change Feed
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Tracks &lt;strong&gt;row-level changes&lt;/strong&gt; from a source (insert, update, delete)&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Good for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keeping Warehouse or Lakehouse in sync with OLTP systems&lt;/li&gt;
&lt;li&gt;Near-real-time updates&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Real-Time / Streaming
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fabric also offers &lt;strong&gt;Real-Time Intelligence&lt;/strong&gt; components like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Eventstreams&lt;/li&gt;
&lt;li&gt;KQL DB&lt;/li&gt;
&lt;li&gt;Real-time dashboards&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Use case:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IoT streams&lt;/li&gt;
&lt;li&gt;Website event tracking&lt;/li&gt;
&lt;li&gt;Monitoring metrics with low latency&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. Implement and Manage Semantic Models
&lt;/h2&gt;

&lt;p&gt;This is the Power BI + Fabric modeling side:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Storage modes&lt;/li&gt;
&lt;li&gt;Modeling fundamentals&lt;/li&gt;
&lt;li&gt;DAX basics&lt;/li&gt;
&lt;li&gt;Security in the model (RLS/OLS)&lt;/li&gt;
&lt;li&gt;Performance &amp;amp; optimization&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  3.1 Storage Modes: Import, DirectQuery, DirectLake, Composite
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Import&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Data is stored inside the model in memory.&lt;/li&gt;
&lt;li&gt;Very fast query performance.&lt;/li&gt;
&lt;li&gt;Requires scheduled or manual refresh.&lt;/li&gt;
&lt;li&gt;Good for small–medium datasets and users who can tolerate some latency in freshness.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;DirectQuery&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;No data stored in the model; all queries go to the source (SQL, etc.)&lt;/li&gt;
&lt;li&gt;Good for real-time or near-real-time when data &lt;em&gt;must&lt;/em&gt; stay at source.&lt;/li&gt;
&lt;li&gt;Slower and more limited in modeling features; depends heavily on source performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;DirectLake&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Fabric-only mode.&lt;/li&gt;
&lt;li&gt;Queries &lt;strong&gt;Delta tables in OneLake&lt;/strong&gt; directly, with caching.&lt;/li&gt;
&lt;li&gt;Combines advantages of Import (fast) and DirectQuery (near-real-time) for Fabric-based data.&lt;/li&gt;
&lt;li&gt;Requires &lt;strong&gt;Fabric/Premium capacity&lt;/strong&gt; and proper Lakehouse/Warehouse setup.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Composite Models&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Mixes Import + DirectQuery + DirectLake in one model.&lt;/li&gt;
&lt;li&gt;Very flexible but more complex to manage.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam scenario example:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“You must query a large Fabric Lakehouse with low latency and avoid scheduled refresh, and you have Fabric capacity. Which storage mode is recommended?”&lt;/em&gt;&lt;br&gt;
→ &lt;strong&gt;DirectLake&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  3.2 Modeling Fundamentals
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Star schema&lt;/strong&gt; is the gold standard:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fact tables&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Large, numeric, transactional data&lt;/li&gt;
&lt;li&gt;E.g., FactSales, FactOrders&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Dimension tables&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smaller, descriptive, business entities&lt;/li&gt;
&lt;li&gt;E.g., DimCustomer, DimProduct, DimDate&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simpler queries&lt;/li&gt;
&lt;li&gt;Better performance&lt;/li&gt;
&lt;li&gt;More intuitive modeling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Relationships:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mostly &lt;strong&gt;one-to-many&lt;/strong&gt; (Dimension → Fact)&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;single direction&lt;/strong&gt; filtering (Dimension filters Fact) unless there’s a strong reason otherwise.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Many-to-many relationships&lt;/strong&gt;: use carefully; they can create ambiguous filter paths.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Best practices:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;surrogate keys&lt;/strong&gt; (integers) for relationships&lt;/li&gt;
&lt;li&gt;Keep dimension tables wide but not huge&lt;/li&gt;
&lt;li&gt;Avoid snowflake if performance is critical (flatten dimensions where reasonable)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3.3 DAX &amp;amp; Calculations
&lt;/h3&gt;

&lt;p&gt;You don’t need to be a DAX guru for DP-600, but you should understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Calculated columns vs Measures:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Calculated columns&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;Computed at data refresh time&lt;/li&gt;
&lt;li&gt;Stored in the model&lt;/li&gt;
&lt;li&gt;Row context&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Measures&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;Computed at query time&lt;/li&gt;
&lt;li&gt;Based on filter context&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Row context vs Filter context:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Row context → operations that work “row by row”&lt;/li&gt;
&lt;li&gt;Filter context → the filters that apply to the measure (via slicers, filters, etc.)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Basic time intelligence&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;TOTALYTD&lt;/code&gt;, &lt;code&gt;SAMEPERIODLASTYEAR&lt;/code&gt;, &lt;code&gt;DATEADD&lt;/code&gt;, etc.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  3.4 Security in Semantic Models
&lt;/h3&gt;

&lt;p&gt;Again, security at the model level:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;RLS (Row-Level Security)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Table filter expressions per role&lt;/li&gt;
&lt;li&gt;Example: &lt;code&gt;[Country] = "Bangladesh"&lt;/code&gt; for certain users&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;OLS (Object-Level Security)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hide specific tables/columns from roles&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Important:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RLS/OLS apply regardless of storage mode (Import/DirectQuery/DirectLake), with some advanced nuances.&lt;/li&gt;
&lt;li&gt;Even if a user has &lt;strong&gt;Build&lt;/strong&gt;, they still only see rows allowed by RLS.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3.5 Performance &amp;amp; Optimization
&lt;/h3&gt;

&lt;p&gt;Large or complex models can slow down. Common optimization strategies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;star schema&lt;/strong&gt; instead of snowflake&lt;/li&gt;
&lt;li&gt;Avoid many-to-many relationships and bi-directional filters unless necessary&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;aggregations&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Avoid overly complex DAX measures that iterate row-by-row over large tables&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;proper types &amp;amp; summarization&lt;/strong&gt; to reduce memory usage&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use XMLA endpoint and Tabular Editor for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Partitioning fact tables&lt;/li&gt;
&lt;li&gt;Incremental refresh tuning&lt;/li&gt;
&lt;li&gt;Calculation groups&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Exam-style question:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;“A large semantic model is slow. What are effective techniques to improve performance?”&lt;/em&gt;&lt;br&gt;
→ Star schema, aggregations, optimizing relationships, partitioning, and simplifying DAX.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  4. Practical Study Plan (How to Use This Note)
&lt;/h2&gt;

&lt;p&gt;Since you already have some hands-on with Fabric:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1 – Fabric Objects &amp;amp; Admin
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouse, Warehouse, Dataflow Gen2, Pipelines, Notebooks, Semantic models, KQL DB&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tenant vs Capacity vs Workspace&lt;/li&gt;
&lt;li&gt;Critical settings: “Users can create Fabric items”, guest access, export settings, labels, DirectLake requirements&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 2 – Prepare Data (Hands-on + Theory)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Build a small scenario:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ingest CSV → Dataflow Gen2 → Lakehouse&lt;/li&gt;
&lt;li&gt;Transform with Dataflow (custom column, type changes)&lt;/li&gt;
&lt;li&gt;Optionally, use a Pipeline to orchestrate Dataflow + Notebook&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lakehouse Tables vs Files, Delta basics&lt;/li&gt;
&lt;li&gt;Shortcuts to some external storage (if possible)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 3 – Semantic Model &amp;amp; Reporting
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create a semantic model from the Lakehouse:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Try &lt;strong&gt;Import&lt;/strong&gt; and &lt;strong&gt;DirectLake&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Build:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A star-schema style model&lt;/li&gt;
&lt;li&gt;Some simple DAX measures (Total Sales, YTD, Last Year comparison)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Configure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RLS roles (e.g., region-based)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 4 – Governance &amp;amp; Lifecycle
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Review:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Workspace roles&lt;/li&gt;
&lt;li&gt;Item permissions &amp;amp; Build permission&lt;/li&gt;
&lt;li&gt;Sensitivity labels (set up a simple label and see its effects)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git integration &amp;amp; PBIP concept&lt;/li&gt;
&lt;li&gt;Deployment pipelines Dev → Test → Prod&lt;/li&gt;
&lt;li&gt;Lineage view and impact analysis&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>microsoft</category>
      <category>microsoftcloud</category>
      <category>powerplatform</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>DP-600: Advanced Prescriptive &amp; Predictive Analytics MCQ Practice (Part-01)</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Tue, 02 Dec 2025 09:46:10 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/dp-600-advanced-prescriptive-predictive-analytics-mcq-practice-part-01-3h5a</link>
      <guid>https://dev.to/sajjadrahman56/dp-600-advanced-prescriptive-predictive-analytics-mcq-practice-part-01-3h5a</guid>
      <description>&lt;h3&gt;
  
  
  There are &lt;strong&gt;4 types of analytics&lt;/strong&gt; in data world:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzux9dazxrc9ops1v8i1n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzux9dazxrc9ops1v8i1n.png" alt="analytics" width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1) Descriptive Analytics → What happened?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It summarizes past data&lt;/li&gt;
&lt;li&gt;Example: “Sales increased 15% last month”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Used visuals: tables, cards, bar charts&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;2) Diagnostic Analytics → Why did it happen?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It explains the reason behind the result&lt;/li&gt;
&lt;li&gt;Example: “Sales increased because ads performed well”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tools: Decomposition tree, Key Influencers&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;3) Predictive Analytics → What will happen?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It forecasts the future&lt;/li&gt;
&lt;li&gt;Example: “We predict a 20% drop in churn next month”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tools: ML models, forecasting, AutoML&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;4) Prescriptive Analytics → What should we do?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It suggests the &lt;strong&gt;best action&lt;/strong&gt; based on predictions&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Offer a discount to high-risk customers”&lt;/li&gt;
&lt;li&gt;“Increase ad budget for Segment A”&lt;/li&gt;
&lt;li&gt;“Send follow-up emails to low-engagement users”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;💡 &lt;strong&gt;Prescriptive = ML + recommended action&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Descriptive&lt;/strong&gt; — What happened?&lt;br&gt;
Purpose: summarize past data. Tools: cards, tables, bar/line charts.&lt;br&gt;
Example exam cues: “show totals”, “last month’s sales”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Diagnostic&lt;/strong&gt; — Why did it happen?&lt;br&gt;
Purpose: explain root cause. Tools: Key Influencers, Decomposition Tree, drillthrough.&lt;br&gt;
Example cues: “identify drivers”, “explain drop in revenue”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Predictive&lt;/strong&gt; — What will happen?&lt;br&gt;
Purpose: forecast future events using ML. Tools: AutoML, forecasting, classification/regression models.&lt;br&gt;
Example cues: “predict”, “probability”, “forecast”.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prescriptive&lt;/strong&gt; — What should we do?&lt;br&gt;
Purpose: recommend actions (next-best-action / optimization). Tools: recommendation engines, optimization models, ML + action mapping.&lt;br&gt;
Example cues: “recommend”, “suggest action”, “optimize”, “next best offer”.&lt;/p&gt;

&lt;p&gt;Exam rule of thumb: If the question asks what action to take, think prescriptive → ML + action.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is prescriptive analytics?&lt;/strong&gt;&lt;br&gt;
Prescriptive analytics is the step beyond predicting. It answers: “Given what we know and what’s likely to happen — what should we do now?”&lt;br&gt;
Core elements:_ An ML or optimization model_ that produces predictions or scores.&lt;/p&gt;

&lt;p&gt;Decision logic that maps predictions to actions (rules, optimization objective, cost/benefit).&lt;/p&gt;

&lt;p&gt;Integration into reports or systems to display or enact the recommended actions.&lt;/p&gt;

&lt;p&gt;Typical output: a column or visual that says “Offer 20% discount” or “Route to specialist” — not just “churn probability = 0.85”.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Embedding an Azure Machine Learning model into Power BI: how it works *&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Train model (Azure ML, Fabric AutoML, Python/R).&lt;/li&gt;
&lt;li&gt;Deploy model as a web service (REST endpoint).&lt;/li&gt;
&lt;li&gt;Call endpoint from a dataflow / Power Query / Fabric pipeline or call it outside and bring scored data in.&lt;/li&gt;
&lt;li&gt;Use outputs in Power BI as calculated columns or visuals.&lt;/li&gt;
&lt;li&gt;Map predictions to actions with DAX, Power Query logic, or an operationalization layer (e.g., if churn_prob &amp;gt; 0.8 → “Offer 30% off”).&lt;/li&gt;
&lt;li&gt;Present recommendations in report visuals (tables, cards, conditional formatting).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why this is preferred:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dynamic (updates with new data)&lt;/li&gt;
&lt;li&gt;Automated and scalable&lt;/li&gt;
&lt;li&gt;Can incorporate business rules and thresholds&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Static text boxes &amp;amp; manual updates&lt;/strong&gt; — when they appear (and why they’re wrong for prescriptive)&lt;br&gt;
Static text boxes: useful for titles, descriptions, instructions—never for dynamic recommendations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manual updates:&lt;/strong&gt; feasible for tiny teams, but not production, not scalable, and usually wrong on exams when compared with ML/automation options.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exam shortcut:&lt;/strong&gt; Options including “static text”, “manual monthly updates”, or “historical visuals only” are almost always incorrect if the question asks for suggestions/recommendations/next actions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to use forward-looking suggestions vs historical-only&lt;/strong&gt;&lt;br&gt;
Use forward-looking (predictive/prescriptive) when: the question mentions recommend, suggest, next best action, optimize, forecast.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use historical-only (descriptive/diagnostic)&lt;/strong&gt; when: the question asks report, summarize, view past trends, explain reasons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Be strict:&lt;/strong&gt; “suggest” = prescriptive → prefers an ML-based, automated approach in DP-600 questions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question (demo):&lt;/strong&gt; You need to add a feature to a Power BI report that suggests targeted marketing actions based on customer segment performance. Which technique integrates prescriptive analytics effectively?&lt;br&gt;
Options:&lt;/p&gt;

&lt;p&gt;A. Embedding an Azure Machine Learning model within the report to analyze segments and suggest actions.&lt;br&gt;
 B. Using static text boxes to provide generic marketing advice.&lt;br&gt;
 C. Manually updating the report each month with new recommendations.&lt;br&gt;
 D. Relying solely on historical data visualizations without forward-looking suggestions.&lt;/p&gt;

&lt;p&gt;Step 1 — identify keywords: “suggests targeted marketing actions” → suggest = prescriptive; “targeted” = personalization; “based on performance” = data-driven.&lt;/p&gt;

&lt;p&gt;Step 2 — map to analytics type: That’s prescriptive (what action to take).&lt;/p&gt;

&lt;p&gt;Step 3 — choose solution: Only A (embedding Azure ML) supplies automated, personalized, data-driven recommendations.&lt;/p&gt;

&lt;p&gt;Why others wrong: B is static; C is manual and not scalable; D is descriptive only.&lt;/p&gt;

&lt;p&gt;Answer: A. Embedding an Azure ML model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exam tip&lt;/strong&gt;: Always ask yourself “does this option produce an actionable output per user/segment that changes dynamically?” If yes — ML/endpoint/automation is right.&lt;/p&gt;

&lt;p&gt;“What happened?” → Descriptive&lt;br&gt;
“Why did it happen?” → Diagnostic&lt;br&gt;
“What will happen?” → Predictive&lt;br&gt;
“What should we do?” → Prescriptive&lt;/p&gt;

&lt;p&gt;If question asks for recommendations / next best action / optimization, pick options mentioning ML / AutoML / Azure ML / optimization / recommendation engine.&lt;/p&gt;

&lt;p&gt;If an option includes static text, manual process, monthly update, it’s almost always wrong for predictive/prescriptive needs.&lt;/p&gt;

&lt;p&gt;For diagnostic questions, favor Key Influencers or Decomposition Tree.&lt;/p&gt;

&lt;p&gt;For predictive questions, favor AutoML / time-series forecasting / classification/regression.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Implementation mapping *&lt;/em&gt; — common patterns you should know&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Churn management: Predictive model → score customers → map to “Offer discount / Call / No action”.&lt;/li&gt;
&lt;li&gt;Recommendation engine (retail): Collaborative filtering or content-based recommenders → store top N recommendations per user → display in Power BI.&lt;/li&gt;
&lt;li&gt;Inventory optimization: Forecast demand (time series) → run optimization for reorder quantities → provide reordering actions.&lt;/li&gt;
&lt;li&gt;Predictive maintenance: Predict failure probability → if &amp;gt; threshold → schedule maintenance action.&lt;/li&gt;
&lt;li&gt;Fraud detection: Predict risk per transaction → rules map to block / monitor / allow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcl6xzrpg5atv4akttmh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcl6xzrpg5atv4akttmh.png" alt="analytics-301" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⭐ What is "Embedding an Azure Machine Learning Model"?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Embedding&lt;/strong&gt; means connecting Power BI to a deployed Azure ML model so it can:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdyirz1rcffne74tzp532.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdyirz1rcffne74tzp532.png" alt="azure ml " width="800" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Score data&lt;/li&gt;
&lt;li&gt;Predict outcomes&lt;/li&gt;
&lt;li&gt;Output recommended actions&lt;/li&gt;
&lt;li&gt;Generate &lt;em&gt;prescriptive&lt;/em&gt; insights&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdxyqcm25usjx68s8dai0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdxyqcm25usjx68s8dai0.png" alt="local to db" width="800" height="277"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How it works (simple flow):
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Build ML model&lt;/li&gt;
&lt;li&gt;Deploy it as a web service (API endpoint)&lt;/li&gt;
&lt;li&gt;Call that model from Power BI&lt;/li&gt;
&lt;li&gt;The model outputs a recommendation like:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;“Recommend Email Campaign B for Customer X”&lt;/li&gt;
&lt;li&gt;“Upsell Product Y to Segment Z”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is &lt;strong&gt;dynamic, scalable, and automated&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⭐ What is a "Static Text Box"?
&lt;/h3&gt;

&lt;p&gt;A &lt;strong&gt;static text box&lt;/strong&gt; is simply text typed manually inside a Power BI report.&lt;/p&gt;

&lt;p&gt;Example texts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Increase marketing spend”&lt;/li&gt;
&lt;li&gt;“Improve engagement”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;❌ It is &lt;strong&gt;not connected to data&lt;/strong&gt;&lt;br&gt;
❌ It cannot change dynamically&lt;br&gt;
❌ It is not analytics&lt;/p&gt;

&lt;p&gt;Used only for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;titles&lt;/li&gt;
&lt;li&gt;explanations&lt;/li&gt;
&lt;li&gt;notes&lt;/li&gt;
&lt;li&gt;labels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Never used for &lt;strong&gt;prescriptive analytics&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⭐ What is "Manual Updating"?
&lt;/h3&gt;

&lt;p&gt;You manually type new recommendations every month like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“This month focus on Segment B”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;not scalable&lt;/li&gt;
&lt;li&gt;error-prone&lt;/li&gt;
&lt;li&gt;slow&lt;/li&gt;
&lt;li&gt;not data-driven&lt;/li&gt;
&lt;li&gt;changes do not react to real-time data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;❌ This is not analytics&lt;br&gt;
❌ Completely ignored in AI/ML questions&lt;/p&gt;

&lt;p&gt;Only useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;temporary reports&lt;/li&gt;
&lt;li&gt;low-impact dashboards&lt;/li&gt;
&lt;li&gt;small teams&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exam trick:&lt;br&gt;
&lt;strong&gt;Manual work is always the WRONG answer in DP-600&lt;/strong&gt; for anything AI/ML/autonomous.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⭐  When do we need "Forward-Looking Suggestions"?
&lt;/h3&gt;

&lt;p&gt;Forward-looking = &lt;strong&gt;predictive + prescriptive&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Used when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you must take action&lt;/li&gt;
&lt;li&gt;business impact depends on future outcome&lt;/li&gt;
&lt;li&gt;you want to optimize decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;churn prevention&lt;/li&gt;
&lt;li&gt;retention strategies&lt;/li&gt;
&lt;li&gt;budget optimization&lt;/li&gt;
&lt;li&gt;marketing targeting&lt;/li&gt;
&lt;li&gt;fraud prevention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Exam Tip&lt;/strong&gt;&lt;br&gt;
If question says:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“suggest”&lt;/li&gt;
&lt;li&gt;“action”&lt;/li&gt;
&lt;li&gt;“recommend”&lt;/li&gt;
&lt;li&gt;“next best step”&lt;/li&gt;
&lt;li&gt;“optimize”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;➡️ Answer is ALWAYS &lt;strong&gt;ML model&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⭐ When do we rely only on historical data?
&lt;/h3&gt;

&lt;p&gt;When the question focuses on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;understanding past performance&lt;/li&gt;
&lt;li&gt;monitoring KPIs&lt;/li&gt;
&lt;li&gt;root cause analysis&lt;/li&gt;
&lt;li&gt;business reporting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not for making decisions.&lt;/p&gt;

&lt;p&gt;Historical-only = &lt;strong&gt;descriptive or diagnostic&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Exam clue:&lt;br&gt;
If options contain things like “historical only,” it will ALWAYS be the wrong answer for prescriptive/predictive scenarios.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔥 &lt;strong&gt;PART 2 — Question Breakdown (Step by Step)&lt;/strong&gt;
&lt;/h1&gt;

&lt;h2&gt;
  
  
  ❓ &lt;strong&gt;Original Question&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;You need a feature that suggests targeted marketing actions based on customer segment performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Step 1 — Identify keywords
&lt;/h3&gt;

&lt;p&gt;🟩 “suggests actions” → prescriptive&lt;br&gt;
🟩 “marketing actions” → decision-making&lt;br&gt;
🟩 “based on segment performance” → ML/AI scoring&lt;/p&gt;

&lt;p&gt;➡️ So the correct option must include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ML model&lt;/li&gt;
&lt;li&gt;automated recommendations&lt;/li&gt;
&lt;li&gt;dynamic logic&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  🔥 OPTION-BY-OPTION BREAKDOWN
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;A. Embedding an Azure Machine Learning model&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;✔️ ML Model → Dynamic&lt;br&gt;
✔️ Can generate recommendations&lt;br&gt;
✔️ Prescriptive&lt;br&gt;
✔️ Auto decision-making&lt;br&gt;
✔️ Scalable&lt;br&gt;
➡️ &lt;strong&gt;Correct&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;B. Using static text boxes&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;❌ Not data-driven&lt;br&gt;
❌ Not dynamic&lt;br&gt;
❌ Only generic advice&lt;br&gt;
❌ Cannot target segments&lt;br&gt;
➡️ &lt;strong&gt;Wrong&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;C. Manually updating the report&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;❌ Not scalable&lt;br&gt;
❌ Not analytics&lt;br&gt;
❌ Prone to errors&lt;br&gt;
❌ Exam always rejects manual work&lt;br&gt;
➡️ &lt;strong&gt;Wrong&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;D. Relying solely on historical data&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;❌ Only descriptive/diagnostic&lt;br&gt;
❌ No suggestion capability&lt;br&gt;
❌ No future insight&lt;br&gt;
➡️ &lt;strong&gt;Wrong&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  ⭐ Tips &amp;amp; Tricks for DP-600 MCQs (VERY IMPORTANT)
&lt;/h1&gt;

&lt;p&gt;Here is the cheat sheet to instantly identify correct answers:&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔️ If question mentions &lt;strong&gt;recommendations&lt;/strong&gt;, answer = &lt;strong&gt;ML model&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Keywords:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;next best action&lt;/li&gt;
&lt;li&gt;suggest&lt;/li&gt;
&lt;li&gt;recommend&lt;/li&gt;
&lt;li&gt;optimize&lt;/li&gt;
&lt;li&gt;prescriptive&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✔️ If question mentions &lt;strong&gt;future&lt;/strong&gt;, answer = AutoML, ML, forecasting
&lt;/h3&gt;

&lt;p&gt;Keywords:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prediction&lt;/li&gt;
&lt;li&gt;forecast&lt;/li&gt;
&lt;li&gt;future trend&lt;/li&gt;
&lt;li&gt;probability&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✔️ If question mentions &lt;strong&gt;understanding the past&lt;/strong&gt;, answer = visuals
&lt;/h3&gt;

&lt;p&gt;Keywords:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;historical&lt;/li&gt;
&lt;li&gt;summarize&lt;/li&gt;
&lt;li&gt;monitor&lt;/li&gt;
&lt;li&gt;trend analysis&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✔️ If option contains &lt;strong&gt;manual&lt;/strong&gt;, &lt;strong&gt;static&lt;/strong&gt;, &lt;strong&gt;text box&lt;/strong&gt;, it's ALWAYS wrong
&lt;/h3&gt;




&lt;h1&gt;
  
  
  🔥 &lt;strong&gt;PART 3 — Notes (Documentation Style, Clear Examples)&lt;/strong&gt;
&lt;/h1&gt;

&lt;h2&gt;
  
  
  📘 &lt;strong&gt;Prescriptive Analytics in Fabric / Power BI&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Prescriptive analytics uses machine learning or decision algorithms to recommend actions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools Used:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Azure ML models&lt;/li&gt;
&lt;li&gt;Fabric ML models&lt;/li&gt;
&lt;li&gt;AutoML&lt;/li&gt;
&lt;li&gt;Python/R notebooks&lt;/li&gt;
&lt;li&gt;ML scoring in dataflows&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example:
&lt;/h3&gt;

&lt;p&gt;Dataset: Customer segments&lt;br&gt;
Model Output:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Segment A → Recommend email offer&lt;/li&gt;
&lt;li&gt;Segment B → Recommend discount&lt;/li&gt;
&lt;li&gt;Segment C → No action&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Power BI shows recommendation column dynamically.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔥 &lt;strong&gt;PART 4 — 10 Similar Questions (With Answers + Explanations)&lt;/strong&gt;
&lt;/h1&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Q1&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You want Power BI to select the best offer for each customer. How do you implement this?&lt;/p&gt;

&lt;p&gt;A. Use an Azure ML recommendation model&lt;br&gt;
B. Add a table showing purchase history&lt;br&gt;
C. Write static text suggestions&lt;br&gt;
D. Update the report manually each week&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q2&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You need a feature that tells sales teams whom to call first based on predicted closing probability.&lt;/p&gt;

&lt;p&gt;A. Deploy a predictive model with scoring rules&lt;br&gt;
B. Use a bar chart by region&lt;br&gt;
C. Place a slicer for sales rep&lt;br&gt;
D. Show the last quarter’s performance&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q3&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You want to reduce churn by recommending retention actions.&lt;/p&gt;

&lt;p&gt;A. Build a churn ML model + action mapping&lt;br&gt;
B. Show all historical churn in a chart&lt;br&gt;
C. Add commentary in a static textbox&lt;br&gt;
D. Update recommendations manually&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q4&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A report must decide whether to reorder inventory based on predicted demand.&lt;/p&gt;

&lt;p&gt;A. Use a demand forecasting model&lt;br&gt;
B. Show a line chart of stock&lt;br&gt;
C. Add a table with past orders&lt;br&gt;
D. Provide generic reorder advice&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q5&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Marketing wants a "next best campaign" suggestion dashboard.&lt;/p&gt;

&lt;p&gt;A. Integrate an ML model that outputs recommended campaigns&lt;br&gt;
B. Use a KPI visual&lt;br&gt;
C. Display last year engagement&lt;br&gt;
D. Add comments explaining campaign types&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q6&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You want insights on why sales dropped last quarter.&lt;/p&gt;

&lt;p&gt;A. Use decomposition tree (diagnostic)&lt;br&gt;
B. Use ML recommendation model&lt;br&gt;
C. Add manual comments&lt;br&gt;
D. Use a line chart only&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q7&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You need a fully automated system that suggests actions daily.&lt;/p&gt;

&lt;p&gt;A. ML model + automation&lt;br&gt;
B. Static text updated monthly&lt;br&gt;
C. Manual tags&lt;br&gt;
D. Historical-only dashboards&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q8&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Which feature predicts future sales?&lt;/p&gt;

&lt;p&gt;A. AutoML or forecasting&lt;br&gt;
B. Static text&lt;br&gt;
C. Manual trend writing&lt;br&gt;
D. Card visual&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q9&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Which is NOT prescriptive analytics?&lt;/p&gt;

&lt;p&gt;A. Optimization model&lt;br&gt;
B. Next best action&lt;br&gt;
C. Static business advice in text box&lt;br&gt;
D. Recommendation engine&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: C&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Q10&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Which delivers dynamic insights?&lt;/p&gt;

&lt;p&gt;A. ML model&lt;br&gt;
B. Static text&lt;br&gt;
C. Manual report editing&lt;br&gt;
D. Hard-coded comments&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer: A&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 1 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;You need to add a feature to a Power BI report that recommends the best retention action for customers predicted to churn. Which method implements &lt;strong&gt;prescriptive analytics&lt;/strong&gt; correctly?&lt;/p&gt;

&lt;p&gt;A. Integrating an Azure ML churn model that outputs recommended actions for each customer.&lt;br&gt;
B. Adding a static text box with general retention advice.&lt;br&gt;
C. Showing a historical churn trend without predictions.&lt;br&gt;
D. Updating the report manually every month with retention suggestions.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;Correct Answer: A. Integrating an Azure ML churn model that outputs recommended actions for each customer.&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This implements prescriptive analytics because the ML model can &lt;strong&gt;predict who is likely to churn&lt;/strong&gt; and then &lt;strong&gt;recommend specific actions&lt;/strong&gt; (e.g., discount, call, email). It is automated, data-driven, and scalable.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B. Static text box
&lt;/h3&gt;

&lt;p&gt;Static text is generic and NOT connected to data. It cannot provide personalized retention advice → &lt;strong&gt;NOT prescriptive&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C. Historical trend
&lt;/h3&gt;

&lt;p&gt;Historical churn charts are &lt;strong&gt;descriptive&lt;/strong&gt;, not prescriptive. They explain the past but cannot suggest actions.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D. Manual updates
&lt;/h3&gt;

&lt;p&gt;Manual work is not scalable, prone to errors, and NOT analytics-driven.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 2 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A sales dashboard must suggest which leads the team should prioritize each day. Which approach delivers true &lt;strong&gt;prescriptive analytics&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;A. Using an ML scoring model to rank leads by probability of closing.&lt;br&gt;
B. Showing a line chart of last month’s sales.&lt;br&gt;
C. Adding a generic “Follow up with leads” text box.&lt;br&gt;
D. Having analysts manually rank leads weekly.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;Correct Answer: A. Using an ML scoring model to rank leads.&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;ML scoring dynamically identifies high-value leads and automates prioritization → &lt;strong&gt;prescriptive&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B. Historical chart
&lt;/h3&gt;

&lt;p&gt;Only descriptive, no decision-making.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C. Generic text advice
&lt;/h3&gt;

&lt;p&gt;Not personalized, not dynamic.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D. Manual ranking
&lt;/h3&gt;

&lt;p&gt;Not scalable, not data-driven.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 3 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A retail analytics report should recommend whether each product should be reordered or discontinued based on demand forecasts. What should you implement?&lt;/p&gt;

&lt;p&gt;A. A demand forecasting ML model that outputs a recommended stock action.&lt;br&gt;
B. A table that lists last year’s product sales.&lt;br&gt;
C. A static note saying “Monitor inventory frequently.”&lt;br&gt;
D. Monthly manual updates from supply chain staff.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;Correct Answer: A. Demand forecasting ML model&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It provides &lt;strong&gt;future prediction + recommended action&lt;/strong&gt;, which is exactly prescriptive analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Only historical → descriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static → no analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → not scalable, not intelligent.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 4 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;You want Power BI to automatically decide the best promotional offer for each customer segment. Which solution is correct?&lt;/p&gt;

&lt;p&gt;A. Deploying a recommendation ML model and integrating it into the report.&lt;br&gt;
B. Adding a bar chart showing which promotions performed best last year.&lt;br&gt;
C. Writing generic promotional tips in a text box.&lt;br&gt;
D. Updating the promotion recommendations manually.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;This uses ML to determine the &lt;strong&gt;best action&lt;/strong&gt;, which is the core of prescriptive analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Descriptive only.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static &amp;amp; not dynamic.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → wrong for DP-600.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 5 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A financial analytics report must advise departments on how to reduce expenses. How should this be implemented?&lt;/p&gt;

&lt;p&gt;A. Using an ML optimization model that outputs recommended cost-saving actions.&lt;br&gt;
B. Displaying historical spending trends.&lt;br&gt;
C. Adding a static text box with general budgeting tips.&lt;br&gt;
D. Manually adding cost-saving suggestions each quarter.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;Optimization models + ML = &lt;strong&gt;true prescriptive analytics&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Only describes past spending.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static → no intelligence.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → not scalable.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 6 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Your customer engagement dashboard must recommend the “next best action” for users with low engagement. What method should be used?&lt;/p&gt;

&lt;p&gt;A. Build and integrate a next-best-action ML model.&lt;br&gt;
B. Show a table of users with their engagement score.&lt;br&gt;
C. Add a text box describing how to improve engagement.&lt;br&gt;
D. Let analysts manually email suggestions to teams weekly.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;Prescriptive analytics = ML-based recommendations.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Descriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static generic advice.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual process → wrong.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 7 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A manufacturing report must suggest machine maintenance actions before a failure occurs. Which approach is correct?&lt;/p&gt;

&lt;p&gt;A. Use a predictive maintenance model connected to Power BI to suggest preventive actions.&lt;br&gt;
B. Show last month’s machine downtime data.&lt;br&gt;
C. Use a static text explaining maintenance guidelines.&lt;br&gt;
D. Rely on manual monthly updates from technicians.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;This is prescriptive: prediction → recommended action.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Historical only.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static text.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → not prescriptive.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 8 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A subscription business wants the report to recommend actions for customers predicted not to renew. What method should be used?&lt;/p&gt;

&lt;p&gt;A. Use an ML renewal prediction model and map scores to recommended retention actions.&lt;br&gt;
B. Add a chart showing renewal rates last year.&lt;br&gt;
C. Write static renewal advice.&lt;br&gt;
D. Update the file manually each month.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;Prediction + Action = prescriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Descriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Not scalable.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 9 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Your dashboard must automatically suggest the best discount for each product based on profitability and forecasted demand. Which solution is correct?&lt;/p&gt;

&lt;p&gt;A. Integrate an ML model that calculates optimal discount levels.&lt;br&gt;
B. Show last year’s discount performance.&lt;br&gt;
C. Add a generic text box explaining discount strategies.&lt;br&gt;
D. Let managers manually pick discount levels.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;ML-driven optimal action → prescriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Historical.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual → wrong.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Question 10 of 10&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;A Power BI report must recommend which suppliers to prioritize based on reliability predictions. What should be implemented?&lt;/p&gt;

&lt;p&gt;A. An ML model that predicts supplier reliability and outputs recommended choices.&lt;br&gt;
B. A matrix of historical supplier performance.&lt;br&gt;
C. A text box summarizing procurement guidelines.&lt;br&gt;
D. Manual supplier ranking updated monthly.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Correct: A
&lt;/h3&gt;

&lt;p&gt;Predict → recommend → prescriptive.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ B
&lt;/h3&gt;

&lt;p&gt;Descriptive only.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ C
&lt;/h3&gt;

&lt;p&gt;Static info.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ D
&lt;/h3&gt;

&lt;p&gt;Manual = always wrong for prescriptive questions.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>learning</category>
      <category>datascience</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>🔐 Understanding Governance in Microsoft Fabric</title>
      <dc:creator>Sajjad Rahman</dc:creator>
      <pubDate>Tue, 02 Dec 2025 05:08:33 +0000</pubDate>
      <link>https://dev.to/sajjadrahman56/understanding-governance-in-microsoft-fabric-ggk</link>
      <guid>https://dev.to/sajjadrahman56/understanding-governance-in-microsoft-fabric-ggk</guid>
      <description>&lt;p&gt;Governance is one of those terms that often sounds heavy—something meant only for administrators, auditors, or compliance teams.&lt;br&gt;
But in reality, &lt;strong&gt;governance is the backbone of every modern data system&lt;/strong&gt;, and developers interact with it more than they realize.&lt;/p&gt;

&lt;p&gt;In Microsoft Fabric, governance ensures that your OneLake data ecosystem remains &lt;strong&gt;secure&lt;/strong&gt;, &lt;strong&gt;organized&lt;/strong&gt;, and &lt;strong&gt;usable&lt;/strong&gt; for every team—without slowing down development velocity.&lt;/p&gt;

&lt;p&gt;This article breaks down governance in the simplest way possible, using both real-world analogies and Fabric-centric explanations.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔐 What Is Governance?
&lt;/h2&gt;

&lt;p&gt;At its core:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Governance = Rules + Control + Responsible Operations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It refers to the processes, rules, and controls that ensure data, systems, and organizational workflows operate securely and correctly.&lt;/p&gt;

&lt;p&gt;Governance guarantees that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data is protected&lt;/li&gt;
&lt;li&gt;Access is controlled&lt;/li&gt;
&lt;li&gt;Quality is maintained&lt;/li&gt;
&lt;li&gt;Usage is monitored&lt;/li&gt;
&lt;li&gt;Systems behave as intended&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is not about restricting people—&lt;br&gt;
👉 &lt;strong&gt;It is about creating a disciplined ecosystem where everything works smoothly and safely.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🎒 A Simple Story: School as a Governance System
&lt;/h2&gt;

&lt;p&gt;Imagine a well-managed school.&lt;/p&gt;

&lt;p&gt;The school defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Class schedules&lt;/li&gt;
&lt;li&gt;Teacher responsibilities&lt;/li&gt;
&lt;li&gt;Seating arrangements&lt;/li&gt;
&lt;li&gt;Exam policies&lt;/li&gt;
&lt;li&gt;Behavior rules&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every student and teacher follows these rules.&lt;br&gt;
This organized structure ensures the school operates smoothly.&lt;/p&gt;

&lt;p&gt;That entire rule-based management process is &lt;strong&gt;Governance&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Similarly, in Microsoft Fabric, governance ensures the data environment operates with clarity, control, and accountability.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧊 A Real-World Analogy Developers Love:
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Your Family Refrigerator = OneLake Governance
&lt;/h2&gt;

&lt;p&gt;Let’s picture your household refrigerator as your OneLake storage.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ Without governance:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Anyone takes anything without permission&lt;/li&gt;
&lt;li&gt;No one tracks what’s added&lt;/li&gt;
&lt;li&gt;Items expire silently&lt;/li&gt;
&lt;li&gt;Duplicate items waste space&lt;/li&gt;
&lt;li&gt;No clarity about what belongs to whom&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Result?&lt;br&gt;
👉 Chaos, confusion, and inefficiency.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ With governance:
&lt;/h3&gt;

&lt;p&gt;The family sets simple rules:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Who can take what&lt;/strong&gt;&lt;br&gt;
Kids cannot take medicine → &lt;em&gt;Permissions&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Date labels on items&lt;/strong&gt;&lt;br&gt;
You know what’s fresh → &lt;em&gt;Metadata &amp;amp; Sensitivity&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shelves are organized by category&lt;/strong&gt;&lt;br&gt;
Top shelf for vegetables, lower shelf for fruits → &lt;em&gt;Data organization&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Expired food is removed&lt;/strong&gt;&lt;br&gt;
→ &lt;em&gt;Quality control&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Everyone knows who added what&lt;/strong&gt;&lt;br&gt;
→ &lt;em&gt;Activity logs &amp;amp; tracking&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The fridge is cleaned regularly&lt;/strong&gt;&lt;br&gt;
→ &lt;em&gt;Policy enforcement &amp;amp; maintenance&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This simple set of rules creates order.&lt;br&gt;
👉 And this is exactly how governance brings structure to OneLake in Microsoft Fabric.&lt;/p&gt;




&lt;h1&gt;
  
  
  🏗 Governance in Microsoft Fabric: What It Actually Means
&lt;/h1&gt;

&lt;p&gt;Microsoft Fabric embeds governance across its entire data lifecycle—collection, storage, analysis, sharing, and monitoring.&lt;/p&gt;

&lt;p&gt;Key responsibilities include:&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Access &amp;amp; Permissions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Who can view, edit, share, or delete data.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Sensitivity Labels&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Identifying how confidential a dataset is.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Metadata Management&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Tracking data origin, owner, schema, and update history.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Data Quality &amp;amp; Refresh Policies&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Ensuring data stays accurate and up to date.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Audit Logs &amp;amp; Monitoring&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Recording every action—who accessed what, when, and how.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔ &lt;strong&gt;Policy Enforcement&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Applying organizational rules consistently.&lt;/p&gt;

&lt;p&gt;Fabric’s governance flows through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OneLake&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Admin Portal&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OneLake Catalog&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fabric Governance APIs and SDKs&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, they create a unified, centrally managed data environment.&lt;/p&gt;




&lt;h1&gt;
  
  
  📘 Mapping the Fridge Analogy to Fabric
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Household Fridge Concept&lt;/th&gt;
&lt;th&gt;Fabric Feature&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Who can take items&lt;/td&gt;
&lt;td&gt;Access Control / Permissions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Date labels&lt;/td&gt;
&lt;td&gt;Metadata &amp;amp; Sensitivity Labels&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shelves organized&lt;/td&gt;
&lt;td&gt;OneLake Data Layout&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Checking expiration&lt;/td&gt;
&lt;td&gt;Data Quality &amp;amp; Refresh&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who added items&lt;/td&gt;
&lt;td&gt;Audit Logs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Regular cleaning&lt;/td&gt;
&lt;td&gt;Governance Policy Enforcement&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This analogy helps teams visualize how everyday rules translate into technical governance rules.&lt;/p&gt;

&lt;h1&gt;
  
  
  🧭 The Simplest One-Line Definition
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Governance is the disciplined process of securing, organizing, and responsibly managing your data and systems.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In Fabric, this ensures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data remains trustworthy&lt;/li&gt;
&lt;li&gt;Users remain accountable&lt;/li&gt;
&lt;li&gt;Workflows remain controlled&lt;/li&gt;
&lt;li&gt;The entire platform remains future-proof&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>microsoft</category>
      <category>dataengineering</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
