Uczenie maszynowe istnieje na styku tradycyjnej matematyki i statystyki z inżynierią oprogramowania i informatyką. My opiszemy kilka narzędzi z tradycyjnych statystyk, które pozwalają zrozumieć świat. Statystyka prawie zawsze dotyczyły uczenia się czegoś, co można interpretować na podstawie danych, natomiast uczenie maszynowe dotyczyło przekształcania danych w coś praktycznego i użytecznego. Ten kontrast ułatwia zrozumienie pojęcia uczenia maszynowego: Uczenie maszynowe polega na uczeniu komputerów czegoś o świecie, aby mogły wykorzystać tę wiedzę do wykonywania innych zadań. Natomiast statystyka jest bardziej zainteresowana opracowaniem narzędzi do uczenia ludzi czegoś o świecie, aby mogli jaśniej myśleć o świecie i podejmować lepsze decyzje. W uczeniu maszynowym uczenie odbywa się poprzez wydobywanie jak największej ilości (lub rozsądnej) informacji z danych za pomocą algorytmów analizujących podstawową strukturę danych i odróżniających sygnał od szumu. Po znalezieniu sygnału lub wzoru algorytmy po prostu decydują, że wszystko, co zostało, to hałas. Z tego powodu techniki uczenia maszynowego są również nazywane algorytmami rozpoznawania wzorców. Możemy „szkolić” nasze maszyny, aby dowiedzieć się, w jaki sposób generowane są dane w danym kontekście, co pozwala nam używać tych algorytmów do automatyzacji wielu przydatnych zadań. Stąd pochodzi zestaw szkoleniowy, odnoszący się do zestawu danych użytych do zbudowania procesu uczenia maszynowego. Pojęcie obserwacji danych, uczenia się na ich podstawie, a następnie automatyzacji procesu rozpoznawania stanowi sedno uczenia maszynowego i stanowi nasz główny cel. Dwa szczególnie ważne typy wzorców stanowią podstawowe problemy, które zapewnimy Ci narzędzia do rozwiązania: problem klasyfikacji i problem regresji, które zostaną wprowadzone w trakcie tego tekstu. My zakładamy stosunkowo wysoki poziom wiedzy w zakresie podstawowych technik programowania i paradygmatów algorytmicznych. To powiedziawszy, R pozostaje stosunkowo niszowym językiem, nawet wśród doświadczonych programistów. Aby ustalić ten sam punkt wyjścia dla wszystkich, ta sekcja zawiera podstawowe informacje na temat rozpoczęcia korzystania z języka R. Później przedstawimy obszerne studium przypadku dotyczące pracy z danymi w języku R. Jeśli nigdy wcześniej nie widziałeś języka R i jego składni, zalecamy zapoznanie się z tym wprowadzeniem, aby uzyskać trochę informacji. W przeciwieństwie do innych języków skryptowych wysokiego poziomu, takich jak Python lub Ruby, R ma unikalną i nieco kłującą składnię i zwykle ma bardziej stromą krzywą uczenia się niż inne języki. Jeśli używałeś R wcześniej, ale nie w kontekście uczenia maszynowego, warto poświęcić czas na przejrzenie tego przeglądu przed przejściem do studiów przypadków.