Programming

Pandas Lambda Apply 함수 활용

강의 홍보

I. Iterrows, Itertuples 복습

이번 포스팅은 For-loop의 대안에 관한 함수 apply에 관한 내용이다. 본 포스트를 보고 학습하시기 전에 Pandas Iterrows 함수 활용Pandas Itertuples 함수 활용에서 학습 하기를 바란다.

지난시간과 마찬가지로 데이터는 동일한 것을 쓰도록 한다.

Pandas Itertuples 함수 활용

강의 홍보

I. Iterrows

이번 포스팅은 Iterrows()의 확장개념입니다. 본 포스트를 보고 학습하시기 전에 Pandas Iterrows 함수 활용에서 학습 하기를 바란다.

II. Itertuples의 개념

itertuples()는 기본적으로 iterrows() 함수보다는 빠르다.

import pandas as pd
import io
import requests
import pprint

url = 'https://raw.githubusercontent.com/chloevan/datasets/master/sports/baseball_stats.csv'
url=requests.get(url).content
baseball_stats = pd.read_csv(io.StringIO(url.decode('utf-8')))

pprint.pprint(baseball_stats.head())
  Team League  Year   RS   RA   W   OBP   SLG    BA  Playoffs  RankSeason  \
0  ARI     NL  2012  734  688  81  0.33  0.42  0.26         0         NaN   
1  ATL     NL  2012  700  600  94  0.32  0.39  0.25         1         4.0   
2  BAL     AL  2012  712  705  93  0.31  0.42  0.25         1         5.0   
3  BOS     AL  2012  734  806  69  0.32  0.41  0.26         0         NaN   
4  CHC     NL  2012  613  759  61  0.30  0.38  0.24         0         NaN   

   RankPlayoffs    G  OOBP  OSLG  
0           NaN  162  0.32  0.41  
1           5.0  162  0.31  0.38  
2           4.0  162  0.32  0.40  
3           NaN  162  0.33  0.43  
4           NaN  162  0.34  0.42  

III. 조건부 행 추출

드디어 Python 데이터 분석가로 보스턴 레드박스(BOS)야구팀에 취직을 했다고 가정을 해보자. 단장이 2008 ~ 2010년까지의 득점과 실점의 차이를 보고 싶다고 요청을 해왔다. 이럴 때 어떻게 해야 할까?

shiny tutorial 02 - Shiny Structure

공지

이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다

이번에 준비한 Tutorial 코로나 세계현황을 Shiny Dashboard로 만들어 가는 과정을 담았다.

I. Shiny 소개

지난시간에 Shiny에 관한 대략적인 소개를 했다. 처음 이 페이지를 방문한 사람들 위해 shiny tutorial 01 - get started 에서 짧게 확인하기를 바란다.

II. Shiny App Structure

아래 샘플 코드를 확인하자.

# load the shiny package
library(shiny)

# 화면 구성 (UI) - 프론트엔드
ui <- fluidPage(
  numericInput(inputId = "n", label = "Sample size", value = 25),
  plotOutput(outputId = "hist")
)

# 서버 구성 - 벡엔드
server <- function(input, output) {
  output$hist <- renderPlot({
    hist(rnorm(input$n))
 
    # 결과물을 만들어내는 코드 작성
    
  })
}

# shiny app 호출
# 프로젝트 진행 시, 폴더 안에
# 파일명은 app.R 형태로 저장한다. 
shinyApp(ui = ui, server = server)
## 
## Listening on http://127.0.0.1:7908

shiny tutorial 01 - get started

공지

이번에 준비한 튜토리얼은 제 강의를 듣는 과거-현재-미래 수강생분들을 위해 준비한 자료이다. 많은 도움이 되기를 바란다

이번에 준비한 Tutorial 코로나 세계현황을 Shiny Dashboard로 만들어 가는 과정을 담았다.

I. Shiny 소개

ShinyR에서 제공하는 일종의 Web Framework이다. 기존 웹사이트와 다르게, 주요 목적은 데이터를 활용해서 대시보드를 만드는 것에 초점이 맞춰져 있다.

가장 큰 장점은 무료빠른 프로토타입을 만들 수 있고, HTML, CSS, Javascript와 직접적으로 호환이 되기 때문에 무한한 확장성이 있다. 바로 중급 레벨에서 배우고 싶으시다면 Intermediate Level을 클릭한다.

Pandas Iterrows 함수 활용

강의 홍보

I. Iterrows의 개념

데이터 전처리를 진행할 때, 데이터프레임에서 행에 반복적으로 접근을 하면서 값을 추출하거나 또는 그 값을 조작하는 일이 발생한다. 예를 들면, 특정 컬럼 A의 값에서 대문자 A를 찾아내 소문자 b로 변경한다고 가정해보자. 이런 경우에는 언제나 For-loop를 통한 반복문 코드 작성을 만들어야 한다.

Machine Learning Tutorial 02 - Regression (2)

I. 지도 학습 VS 비지도 학습

머신러닝은 크게 두 가지 유형으로 분류한다. 우선 아래 표를 보자.

구분 지도학습
(Supervised Learning)
비지도 학습
(Unsupervised Learning)
알고리즘
(분석모형)
회귀분석
분류모형
군집분석
특징 정답을 알고 있는 상태에서 학습
모형 평가 방법이 다양한 편
정답이 없는 상태에서 서로 비슷한 데이터를 찾아서 그룹화
모형 평가 방법이 제한적
출처: 오승환 (2019). 파이썬 머신러닝 판다스 데이터 분석 (p. 285)

지도학습(Supervised Learning)은 종속변수(Dependent Variable) 선정이 매우 중요하며. 종속변수 선정과 함께 데이터 분석도 같이 병행이 된다. 그러나 비지도학습(Unsupervised Learning)은 데이터가 많은데, 어떻게 분류하면 좋을지 모를 때 서로 비슷한 특징끼리 결합 및 그룹화 하는 것을 말한다.

Machine Learning Tutorial 01 - Regression (1)

I 지도 학습 VS 비지도 학습

머신러닝은 크게 두 가지 유형으로 분류한다. 우선 아래 표를 보자.

구분 지도학습
(Supervised Learning)
비지도 학습
(Unsupervised Learning)
알고리즘
(분석모형)
회귀분석
분류모형
군집분석
특징 정답을 알고 있는 상태에서 학습
모형 평가 방법이 다양한 편
정답이 없는 상태에서 서로 비슷한 데이터를 찾아서 그룹화
모형 평가 방법이 제한적
출처: 오승환 (2019). 파이썬 머신러닝 판다스 데이터 분석 (p. 285)

지도학습(Supervised Learning)은 종속변수(Dependent Variable) 선정이 매우 중요하며. 종속변수 선정과 함께 데이터 분석도 같이 병행이 된다. 그러나 비지도학습(Unsupervised Learning)은 데이터가 많은데, 어떻게 분류하면 좋을지 모를 때 서로 비슷한 특징끼리 결합 및 그룹화 하는 것을 말한다.

Leaflet for R

1. Introduction

Leaflet 패키지는 동적 지도 시각화를 위한 자바스크립트-오픈소스 기반 라이브러리입니다. 일반적인 기업 회사 뿐만 아니라 GIS 전문 회사인 OpenStreetMap, Mapbox, 그리고 CartoDB에서도 이 패키지를 사용하고 있습니다.

R의 leaflet 패키지는 일종의 자바스크립트의 Leaflet을 쉽게 연동(Integrate) 할 수 있도록 도와 주는 패키지입니다.

2. Features

패키지의 주요 특징은 아래와 같습니다. 오역 방지를 위해 원문에 있는 내용을 그대로 사용했습니다.

  • Interactive panning/zooming

  • Compose maps using arbitrary combinations of:

    • Map tiles
    • Markers
    • Polygons
    • Lines
    • Popups
    • GeoJSON
  • Create maps right from the R console or RStudio

Tensorflow For R - Quick Start

1. 개요 (Overview)

tensorflow(텐서플로) R 패키지를 사용하기 전에 시스템에 TensorFlow 버전을 설치해야 한다. 아래에서는 TensorFlow 설치 방법과 설치 사용자 정의에 사용할 수 있는 다양한 옵션에 대해 설명 한다.

이번 포스트에서는 주로 R install_tensorflow() 함수의 사용을 다루며, 이는 TensorFlow를 설치하는 데 필요한 다양한 단계에서 wrapper 쉽게 사용할 수 있도록 도와 준다.

Tensorflow(텐서플로)는 아래와 같은 OS 환경에서 구동이 된다.

  • Ubuntu 16.04 or later
  • Windows 7 or later
  • macOS 10.12.6 (Sierra) or later (no GPU support)

2. 설치 (Installation)

R 패키지 설치하는 방법과 동일하다

Tensorflow 2.0 Installation

강의 홍보

I. 개요

pip를 사용하여 TensorFlow 설치를 해본다.

II. 시스템 요구사항

  • Python 3.5-3.7
  • pip 19.0 이상(manylinux2010 지원 필요)
  • Ubuntu 16.04 이상(64비트)
  • macOS 10.12.6(Sierra) 이상(64비트)(GPU 지원 없음)
  • Windows 7 이상(64비트)(Python 3만 해당)
  • Raspbian 9.0 이상
  • GPU 지원에는 CUDA® 지원 카드 필요(Ubuntu 및 Windows)

참고: TensorFlow2를 설치하려면 최신 버전의 pip가 필요하다.