Step 1Heat the oven to 325 degrees. In a medium bowl, sift the flour, baking soda and salt and set aside. Separately, in a large bowl or in the bowl of a stand mixer, combine the oil, buttermilk, eggs, 1 1/2 teaspoons vanilla extract, the almond extract and sugar. Using a hand mixer or in a stand mixer, on low speed, slowly mix the dry ingredients into the wet ingredients just until smooth, careful not to overmix. Gently fold in the coconut.
Step 2Place 18 paper muffin cups into muffin tins. Fill each cup with a generous one-fourth cup of batter, so that it comes three-fourths up the side of each cup. Bake for 20 to 25 minutes, until a toothpick inserted comes out clean. Remove the cupcakes to a rack and allow to cool completely.
Step 3For the frosting: Beat the cream cheese on low speed until smooth; scrape down the sides of the bowl. Add the butter and continue mixing on medium speed until smooth. Scrape down the bowl again. Add the powdered sugar in three additions at low speed, mixing each addition until just combined. Scrape down the bowl again. Add the remaining teaspoon vanilla and mix on medium speed until fluffy, about 2 minutes.
Step 4Frost each cupcake with 3 tablespoons frosting and sprinkle with extra shredded coconut. The cupcakes will keep for 2 days.