전체 글 (71) 썸네일형 리스트형 [R을 이용한 데이터 처리&분석 실무] 5장 내용 정리_Part 2 이번 포스팅에서는 지난 5장 에 이어서, 에 대한 내용들을 포스팅 하겠다. ▶ 데이터 구조의 변형과 요약 ◎ reshape2 패키지 - 데이터의 모양을 바꾸거나 그룹별 요약 값을 계산하는 함수들을 담고 있는 패키지 - 변환된 데이터는 측정치를 variable과 value라는 두 컬럼으로 표현하므로, 데이터의 통계치 계산이 편리해진다. ★★★ 1. melt(data, id.vars, measure.vars, na.rm = FALSE) → 유용하게 쓰이므로 꼭 기억하자!! data : melt할 데이터 id.vars : 식별자 컬럼들 measure.vars : 측정치 컬럼들. 이 값이 생략되면 id.vars에 해당하지 않는 모든 컬럼이 측정치 컬럼으로 취급된다. na.rm = FALSE : NA인 행을 결과.. [핸즈온 머신러닝 2/E] 2장. 머신러닝 프로젝트 처음부터 끝까지_Part 2 이번 포스팅에서는 지난 번 2장 에 이어서 를 진행해도록 하겠다. 자, 그럼 시작해보겠다!! ▶ 머신러닝 알고리즘을 위한 데이터 준비(Feature Engineering) 본격적인 시작에 앞서, 다음과 같이 strat_train_set( ) 함수를 사용하여 훈련 데이터 세트를 target 변수가 제외된 데이터 세트(feature들만 존재)과 target 변수만 있는 데이터 세트로 분리하겠다. ◆ 데이터 정제 Null 값 처리 해당 구역을 제거하는 방법 dropna( ) 사용 전체 특성(feature)을 삭제하는 방법 drop( ) 사용 다른 값으로 대체하는 방법(0, 평균값, 중앙값 등) fillna( ) 사용 교재에서는 누락된 값들을 중앙값으로 대체해주었다. 범주형 특성 처리 아래와 같이 우리가 분석할.. [알고리즘_Programmers] 8주차 3번 문제 및 풀이 이번 포스팅에서는 프로그래머스의 "카펫"이라는 문제에 대한 풀이를 진행하도록 하겠다. 우선 주어진 문제는 다음과 같다. 이 문제는 결국 풀지 못했다...ㅜㅜ (접근법 자체가 안 떠올라서...) 그래서 다른 사람의 풀이를 참고해서 설명하도록 하겠다. 우선 문제를 어떻게 접근해서 풀어야 할지에 대해서 설명하겠다. 다음과 같이, 가로의 길이가 x이고 세로의 길이가 y인 카펫이 주어졌다고 생각해보자. 위 그림을 보면, x * y = brown + yellow 이고 (x - 2) * (y - 2) = yellow 인 것을 알 수 있다. 따라서 이 두 개의 방정식을 연립해서 풀면, 다음과 같은 식이 나오게 된다. 위 방정식의 해를 근의 공식을 사용해서 구해보면 다음과 같다. 이렇게 구해진 x, y 값들 중에서 더 .. [알고리즘_Programmers] 8주차 2번 문제 및 풀이 이번 포스팅에서는 "최솟값 만들기"라는 문제에 대해서 풀이를 진행해보려 한다. 이번 문제도 지난 1번 문제와 마찬가지로 크게 어려운 문제는 아니었다. 우선 문제는 다음과 같다. 배열 A와 B가 주어질 때 누적된 합이 최소가 되도록 하려면, "(배열 A의 최솟값1 * 배열 B의 최댓값1) + (배열 A의 최솟값2 * 배열 B의 최댓값2) + ... " 이런 식으로 누적합을 구해주면 된다. 여기서 최솟값1은 모든 값들 중에서 최솟값을 의미하고, 최솟값2는 최솟값1을 제외한 모든 값들 중에서 최솟값을 의미한다. 최댓값도 동일하게 적용된다. 따라서 먼저 배열 A를 오름차순 정렬해주고, 배열 B를 내림차순 정렬해주었다. (동일한 index를 갖는 값들끼리 곱해주기 위해서) 그 다음, 배열 A와 B에서 동일한 in.. [R을 이용한 데이터 처리&분석 실무] 5장 내용 정리_Part 1 이번 포스팅에서는 "데이터 조작 II : 데이터 처리 및 가공"에 대해서 정리해보겠다. 자, 그럼 시작해보겠다!! ▶ SQL을 사용한 데이터 처리 - sqldf(x) x : SQL SELECT 문 데이터 프레임에 SQL SELECT 질의를 수행한다. (그냥 SQL과 똑같다고 생각하고 사용하면 된다) 반환 값은 데이터 프레임이다. ※ iris 데이터를 예시로 설명하면, R과 달리 SQL에서 '.'은 테이블 컬럼명이 될 수 없으므로, Sepal.Length가 아니라 Sepal_Length로 컬럼명을 적어야 한다. 또한 SQL에서 대소문자 구별은 없으므로 Sepal_Length 대신 sepal_length로 적어도 된다. ▶ 분할, 적용, 재조합을 통한 데이터 분석 데이터를 분할하고(split), 분할된 데이.. [알고리즘_Programmers] 8주차 1번 문제 및 풀이 이번 포스팅에서는 알고리즘 스터디 8주차 첫 번째 문제인 "최댓값과 최솟값" 문제에 대한 풀이를 진행하겠다. 문제를 딱 보자마자 느꼈다. 아, 이 문제는 쉬어가는 보너스 문제구나!! ^^ 풀면서 너무 행복했다....이렇게 쉬운 문제가 얼마만인지 ㅜㅜㅜ 자, 그럼 이제 잠시 쉬어가는 코너라 생각하고 풀이를 진행해보겠다. 이 문제는 주어진 문자열을 공백으로 분리하고, 분리된 문자열들을 int형으로 변환해준 다음 list로 만들어주기만 하면 해결할 수 있는 문제이다. 최종적으로 만들어진 list의 요소 값 중, 최댓값과 최솟값을 구해서 문자열로 변경해주고 그 값들을 반환해주게끔 해주면 된다. 이렇게 쉬운 문제가 얼마만인지....ㅎㅎ 우선 문제 풀이법은 나와 동일하다. 다만, 내 코드를 조금 더 간결하게 만들어.. [Ch 8. 자연어 처리 시작하기] from "파이썬으로 데이터 주무르기(민형기 지음)" 드디어 교재의 마지막 챕터인 "8장. 자연어 처리 시작하기"까지 모두 끝냈다. 자연어 처리(NLP) 분야는 현재 활발한 연구가 이루어지고 있는 분야로, 많은 사람들의 관심을 끌고 있다. 그리고 워드 클라우드와 같은 기술들은 잘 알아두면, 나중에 시각화 할 때 큰 도움이 될 것 같다. 이 교재를 통해서 기본적인 파이썬 라이브러리에 대한 공부는 어느 정도 한 것 같다. 이제 공부한 내용들을 토대로 캐글 및 데이콘 데이터를 활용해서, 실제 머신러닝 프로젝트를 처음부터 끝까지 따라서 진행해보는 시간을 갖도록 하자!! ★ 코드 및 설명 링크 : https://nbviewer.jupyter.org/gist/HyeongWookKim/f9def910f702d4fffe919bfac230941f Jupyter Notebo.. [핸즈온 머신러닝 2/E] 2장. 머신러닝 프로젝트 처음부터 끝까지_Part 1 ※ 2장은 내용이 다소 많아 두 개의 파트(Part 1, Part 2)로 나눠서 포스팅하도록 하겠다. 2장에서는 독자가 부동산 회사에 막 고용된 데이터 과학자라고 가정하고, 하나의 예제 프로젝트를 처음부터 끝까지 진행해보는 과정을 설명해놓았다. 독자인 우리가 진행해 볼 프로젝트의 주제는 캘리포니아 인구조사 데이터를 사용해서, 캘리포니아의 주택 가격 모델을 만드는 것이다. 분석에 사용할 캘리포니아 인구조사 데이터에는 인구, 중간 소득, 중간 주택 가격 등 여러 가지 특성들이 있다. ▶ 문제 정의 어떤 문제를 해결하기에 앞서, 문제를 정의하는 것은 굉장히 중요하다. 먼저 Jupyter Notebook에서 분석에 사용할 데이터를 확인해보면 다음과 같다. 자, 그럼 이제 질문 몇 가지를 하겠다. 우리가 해결하고.. 이전 1 ··· 3 4 5 6 7 8 9 다음