# 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!!

:::