Giter Club home page Giter Club logo

learnpca's Introduction

Welcome!

I am a freelance software developer and consultant. My areas of expertise include:

  • Development of R packages supporting science, especially spectroscopy and chemometrics. Checkout my repos for examples.
  • Reproducible research: the automated production of research reports.
  • Exploratory data analysis.
  • Data management: organization, cleaning.
  • Web page creation and maintenance.
  • Languages: R, html, some JavaScript, some Python.
  • Resources I use regularly: LaTeX, markdown, css, make, git, Github Actions.

Check out my blog for some recent happenings.

Here is my resume

Bryan's GitHub stats

learnpca's People

Contributors

bryanhanson avatar dtharvey avatar zeehio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

learnpca's Issues

Proposed Vignette: Additional PCA Plots

Could create a new vignette with some additional PCA plots

  • Plot 1 loading against another; include a circle with radius = 1 indicating that the maximum value of a load is +/- 1 since it is the cosine of an angle (and link back to "Understanding Scores and Loadings" vignette).
  • Illustration/discussion of the biplot.

Items for possible inclusion

I've collected the following web links which may be useful as this project evolves. If we use one of these in a substantial way, we need to cite it. Check the box when the item has been reviewed and either included or rejected for inclusion (so we don't come back to it).

18 Oct 2021: Bryan put these in categories

General

Use of SVD vs Eigen decomposition

PCA on the correlation matrix (princomp vs prcomp vs eigen)

Is there information in the later PCs?

Sparse PCA

Image Reconstruction

Other Possible Topics

  • Discuss how regression and PCA differ in terms of what value is being minimized/maximized. Show it graphically by overlaying a regression line with residuals and the first PC with projections on the same (small) data set.

Vignette Polishing Tasks

  • Add version info to all vignettes (code already in some). Perhaps in conjunction with the next item
  • Add a "box" to the top of each vignette listing and cross-referencing all the vignettes. Bryan knows how to do this, he just has to go see how he did it before. This info box could include the version info. Info for the box will be in one file for easy maintenance (Completed: see "top-matter.md" for the magic).
  • Use the same seed in all vignettes? Note: probably not necessary or desirable.
  • Check for the TODOs in each vignette Note: as of 26 Nov all these are marked TODO:
  • Use the same header sizes in each vignette. Note: Visually, I like the way the first and third header defaults look, but this messes with the TOC. Possibly use a css file to customize (Half-completed: fixed all to be 1st and 2nd level headers, fine tune later via css if still desired).
  • Cross reference vigs to each other where appropriate (note: more will likely be needed)
  • Use consistent language for "abstract space". I am finding that the more mathematically inclined resources use "basis". Right now I am liking the notion of a "reference frame" like they use in physics. This could be explained pretty clearly I think. Note: Bryan cleaned this up as much as possible on 26 Nov.
  • Be consistent about use of variation vs signal vs variation (signal).

Please Review

As of right now, all vignettes are on the devel branch and the automatic builds work. I am working my way through the vignettes, trying to pseudo-finalize them. DTH if you could please review these vignettes and make any changes you desire -- no need to have a discussion unless you think it desirable.

  • Start_Here.Rmd
  • Conceptual_Intro_PCA.Rmd
  • Step_By_Step_PCA.Rmd
  • Understanding Scores & Loadings
  • Visualizing PCA in 3D
  • The Math Behind PCA
  • PCA Functions

I'll update this list as I complete my reviews.

Problems inherited from kableExtra (Fix by 4 April 2022)

We received the following e-mail from Prof. Ripley:

Screen Shot 2022-03-23 at 7 00 27 PM

And it turns out the problem is not us, but with the kableExtra package we use. It looks like there has been little activity from the authors since 16 Dec 2021. I filed an issue here.

We can get by w/o this package, it just adds some nice styling. If we don't hear from them by the end of March, we'll drop the use of kableExtra. We are not the only ones in this boat.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.