# CS 410/1411 Homework 10: Principal Component Analysis **Due Date: 12/4/2024** **Need help?** Remember to check out [Edstem](https://edstem.org/us/courses/61309) and our website for TA assistance. ## Downloads Like in some previous homeworks, this assignment will take place in a Python notebook file. Please click [here](https://classroom.github.com/a/ijX5Ny8W) to download the assignment code. ## Handin Your handin should contain: - all modified files, including comments describing the logic of your algorithmic modifications - a README, containing a brief overview of your implementation ### Gradescope Submit your assignment via Gradescope. To submit through GitHub, follow these commands: 1. `git add -A` 2. `git commit -m "commit message"` 3. `git push` Now, you are ready to upload your repo to Gradescope. *Tip*: If you are having difficulties submitting through GitHub, you may submit by zipping up your hw folder. ## Rubric | Component | Points | Notes | |-------------------|------|--------------------------------| | Concentric Circles | 11 | Points awarded for correctly implementing `new_feature` (10) and finding value of `split` that separates classes (1). | | Blobs | 10 | Points awarded for correctly implementing `graph_components` and producing figure that plots PC 1 and PC 2.| | Standardize | 10 | Points awarded for correctly implementing `pre_process` using SKLearn's `StandardScaler` function.| | Covariance | 4 | Points awarded for correctly implementing `cov`.| | Eigenvectors | 10 | Points awarded for correctly implementing `eigenvectors` and returning the specified items. | | PCA | 10 | Points awarded for correctly implementing `pca` using the previously implemented functions. | | Eigenvalues plot | 15 | Points awarded for plotting eigenvalues and answering the corresponding conceptual question thoughtfully and accurately. | | Explaining variance | 20 | Points awarded for finding the number of principal components needed to explain variance and answering the next conceptual question (#3) thoughtfully and accurately. | | Final $k$ | 10 | Points awarded for answering the conceptual question about your final choice of $k$ thoughtfully and accurately. | <!-- Ungraded? Or should we add to conceptual questions?: How well did this discretization approach do? How can you tell? We've included a plot of the average reward for each episode, which will probably look like a bunch of random noise. What would you expect to see if your learning algorithm was working well? --> :::success Congrats on submitting your homework; Steve is proud of you!! ![image](https://hackmd.io/_uploads/S1OQ2aCwA.png) :::