데이터 사이언스 패러다임 전환
한국 R 사용자회
2024년 4월 29일
2023년 챗GPT 데이터 사이언스
2024년 인공지능 데이터 사이언스
📘 교보 POD 종이책: https://bit.ly/4cVDxxL
📗 교보 전자책: https://bit.ly/4dccQ8n
🌐 웹사이트: https://bit.ly/4909pOB
💻 소스코드: https://bit.ly/3wXugES (이광춘, 2024b)
📘 교보 POD 종이책: https://bit.ly/4a8v1JS
📗 교보 전자책: https://bit.ly/4auasHU
🌐 웹사이트: https://bit.ly/48V8u1T
💻 소스코드: https://bit.ly/48RqMB9 (이광춘, 2024c)
📘 교보 POD 종이책: https://bit.ly/3wElKuk
📗 교보 전자책: https://bit.ly/3IkWE6f
🌐 웹사이트: https://bit.ly/3P7PVjX
💻 소스코드: https://bit.ly/3InK46m (이광춘, 2024d)
📘 교보 POD 종이책: https://bit.ly/3OJmMeT
📗 교보 전자책: https://bit.ly/48fujZD
🌐 웹사이트: https://bit.ly/48gYn7d
💻 소스코드: https://bit.ly/3wrgeuP (이광춘, 2024a)
📘 교보 POD 종이책: https://bit.ly/434h5y9
📗 교보 전자책: https://bit.ly/KzUdOU
🌐 웹사이트: https://bit.ly/3I4FpWS
💻 소스코드: https://bit.ly/3wrgeuP (이광춘·신종화, 2023)
항목 | MS 오피스 1 | 구글 오피스 2 | 리브레 오피스 3 | 한컴 오피스 4 |
---|---|---|---|---|
문서 작성 및 편집 | 워드, 엑셀, 파워포인트 등의 데스크톱 및 웹 앱 제공 | 구글 문서, 스프레드시트, 프레젠테이션 등의 웹 앱 제공 | 라이터, 캘크, 임프레스 등의 데스크톱 앱 제공 | 한글, 한셀, 한쇼 등의 데스크톱 및 모바일 앱 제공 |
협업 및 공유 | 원드라이브를 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움 | 구글 드라이브를 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정하고 실시간으로 확인 가능 | 드롭박스나 구글 드라이브와 연동하여 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움 | 넷프리즘을 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움 |
이메일 및 채팅 | Outlook을 통해 비즈니스 메일 제공. Teams을 통해 채팅 및 화상 회의 가능 | Gmail을 통해 비즈니스 메일 제공. Chat과 Meet을 통해 채팅 및 화상 회의 가능 | 이메일 및 채팅 기능 없음 | 이메일 및 채팅 기능 없음 |
가격 | 1인당 월 5~20달러 다양한 요금제 제공. 데스크톱 앱 사용 가능한 요금제는 12.5달러부터 시작 | 1인당 월 6~18달러까지 다양한 요금제 제공 | 완전 무료 | 개인용은 무료로 사용 가능하며 업무용은 별도로 견적 요청 필요 |
웹사이트를 읽고 다음 지령을 준비해 https://apis.map.kakao.com/web/documentation/
Kakao 지도 API 문서는 다양한 지도 관련 기능을 제공한다. 이 문서는 지도 객체 생성, 이벤트, 메서드 등에 대한 상세한 정보를 담고 있다. 아래는 주요 내용의 요약이다.
### 지도 객체 생성
- `kakao.maps.Map(container, options)`: 지도를 생성한다.
- `container`: 지도가 표시될 HTML element
- `options`: 중심 좌표, 확대 수준, 지도 종류 등을 설정할 수 있다.
### 주요 메서드
- `setCenter(latlng)`: 지도의 중심 좌표를 설정한다.
- `getCenter()`: 지도의 중심 좌표를 반환한다.
- `setLevel(level, options)`: 지도의 확대 수준을 설정한다.
- `getLevel()`: 지도의 확대 수준을 반환한다.
- `setMapTypeId(mapTypeId)`: 지도의 타입을 설정한다.
- `getMapTypeId()`: 지도의 타입을 반환한다.
### 이벤트
- `center_changed`: 중심 좌표가 변경되면 발생한다.
- `zoom_start`: 확대 수준이 변경되기 직전에 발생한다.
- `zoom_changed`: 확대 수준이 변경되면 발생한다.
- `click`: 지도를 클릭하면 발생한다.
- `dblclick`: 지도를 더블클릭하면 발생한다.
이 외에도 다양한 메서드와 이벤트가 있어, 개발자가 원하는 기능을 쉽게 구현할 수 있다.
주소를 넘기면 위경도 좌표를 반환하는 R 코드를 작성해줘.
R에서 주소를 위경도 좌표로 변환하기 위해 httr
패키지를 사용하여 Kakao API를 호출한 예시 코드이다.
# 필요한 패키지를 설치하고 불러온다
install.packages("httr")
install.packages("jsonlite")
library(httr)
library(jsonlite)
# 주소를 위경도로 변환하는 함수를 정의한다
get_latlng <- function(address) {
# Kakao API 키를 설정한다 (본인의 API 키로 교체해야 한다)
api_key <- "YOUR_KAKAO_API_KEY"
# API URL과 파라미터를 설정한다
url <- "https://dapi.kakao.com/v2/local/search/address.json"
params <- list(query = address)
headers <- add_headers("Authorization" = paste("KakaoAK", api_key))
# API를 호출한다
response <- GET(url, query = params, headers)
# 응답을 확인하고 JSON을 파싱한다
if (status_code(response) == 200) {
content <- content(response, "text", encoding = "UTF-8")
json_data <- fromJSON(content)
# 위경도를 추출한다
if (json_data$meta$total_count > 0) {
lat <- json_data$documents[[1]]$y
lng <- json_data$documents[[1]]$x
return(list(lat = lat, lng = lng))
} else {
return(NULL)
}
} else {
stop("API request failed")
}
}
# 함수를 테스트한다
address <- "서울특별시 강남구 테헤란로 212"
result <- get_latlng(address)
print(paste("Latitude:", result$lat, "Longitude:", result$lng))
library(httr)
library(jsonlite)
# 주소를 위경도로 변환하는 함수를 정의한다
get_latlng <- function(address) {
# Kakao API 키를 설정한다 (본인의 API 키로 교체해야 한다)
api_key <- Sys.getenv("KAKAO_MAP_API_KEY")
# API URL과 파라미터를 설정한다
url <- "https://dapi.kakao.com/v2/local/search/address.json"
params <- list(query = address)
headers <- add_headers("Authorization" = paste("KakaoAK", api_key))
# API를 호출한다
response <- GET(url, query = params, headers)
# 응답을 확인하고 JSON을 파싱한다
if (status_code(response) == 200) {
content <- content(response, "text", encoding = "UTF-8")
json_data <- fromJSON(content)
# 위경도를 추출한다
if (json_data$meta$total_count > 0) {
lat <- json_data$documents[[1]]$y
lng <- json_data$documents[[1]]$x
return(list(lat = lat, lng = lng))
} else {
return(NULL)
}
} else {
stop("API request failed")
}
}
# 가톨릭관동대학교 주소
address <- "강원도 강릉시 범일로579번길 24"
result <- get_latlng(address)
print(paste("Latitude:", result$lat, "Longitude:", result$lng))
울프람 알파(Wolfram Alpha) 사용해서 사실관계를 확인해보자.
“지구는 평평하다”라는 주장을 검증해줘.
"지구는 평평하다"라는 주장에 대해 Wolfram Alpha를 이용해 검증해보았습니다.
### 입력 해석
- 질문: 지구는 평평하다?
### 결과
- 답변: 아니다.
- 지역적으로만 그렇다. 그리고 그것도 특정 지역, 예를 들어 미국 중서부에서만 해당된다.
자세한 정보는 [Wolfram|Alpha 웹사이트](https://www6b3.wolframalpha.com/input?i=Is+the+Earth+flat%3F)에서 확인할 수 있다.
이처럼 Wolfram Alpha는 다양한 주장이나 정보에 대한 팩트체크를 할 수 있는 유용한 도구이다.
라면을 많이 먹으면 건강에 정말 안좋은가?
Wolfram Alpha에서는 “라면을 많이 먹으면 건강에 정말 안 좋은가?”에 대한 구체적인 답변을 제공하지 못했다. 그러나 일반적으로 라면은 높은 나트륨, 지방, 인공 첨가물 등을 포함하고 있어, 과도하게 섭취할 경우 다음과 같은 건강 문제가 발생할 수 있다:
고혈압: 라면에는 나트륨이 많이 들어있다. 나트륨 과다 섭취는 혈압을 높일 수 있다.
비만: 라면은 칼로리가 높고, 지방도 많이 들어있다. 지속적으로 라면을 많이 먹으면 체중 증가의 위험이 있다.
소화기 문제: 라면은 소화가 잘 되지 않는 식품 중 하나이다. 과도한 섭취는 소화기에 부담을 줄 수 있다.
영양 불균형: 라면은 영양소가 적고, 나트륨이나 지방 등의 불필요한 성분이 많다. 이로 인해 영양 불균형이 발생할 수 있다.
심혈관 질환: 고혈압, 높은 콜레스테롤 등은 심혈관 질환의 위험을 높인다.
라면을 즐길 때는 이러한 점들을 고려하여 적당한 양과 빈도로 섭취하는 것이 중요하다.
\(\left(\frac{4}{2^{\sqrt{2}}}\right)^{2+\sqrt{2}}\) 값은?
식 \[ \left(\frac{4}{2^{\sqrt{2}}}\right)^{2+\sqrt{2}} \] 의 값은 \(4\)입니다.
정확한 형태로는 \(2^{(2 - \sqrt{2}) (2 + \sqrt{2})}\)로 표현됩니다.
자세한 정보는 Wolfram|Alpha 웹사이트에서 확인할 수 있다.
과정도 설명해줘.
물론이다. 주어진 식은 \[ \left(\frac{4}{2^{\sqrt{2}}}\right)^{2+\sqrt{2}} \]이다. 이 식을 단계별로 분해해보자.
\[ \left(\frac{4 \times 2^{\sqrt{2}}}{2^{\sqrt{2}} \times 2^{\sqrt{2}}}\right)^{2+\sqrt{2}} \]
\[ \left(\frac{4 \times 2^{\sqrt{2}}}{2^{2\sqrt{2}}}\right)^{2+\sqrt{2}} \]
\[ \left(\frac{2^{2+\sqrt{2}}}{2^{2\sqrt{2}}}\right)^{2+\sqrt{2}} \]
\[ \left(2^{(2+\sqrt{2}) - 2\sqrt{2}}\right)^{2+\sqrt{2}} = \left(2^{(2 - \sqrt{2})(2 + \sqrt{2})}\right)^{2+\sqrt{2}} \]
이렇게 해서 \[ \left(\frac{4}{2^{\sqrt{2}}}\right)^{2+\sqrt{2}} = 4 \]임을 확인할 수 있다.
Open AI Code Interpreter → Advanced Data Analysis → 챗GPT4
Tools -> Global Options -> Copilot -> Enable Github Copilot
연도 | 도구 | 개발자 |
---|---|---|
1978 | TeX | Donald Knuth |
1984 | Literate Programming | Donald Knuth |
1988 | Mathematica Notebooks | Stephen Wolfram |
2001 | IPython | Fernando Perez |
2003 | Emacs org-mode | Carsten Dominik |
2004 | Markdown | John Gruber |
2005 | Sage Notebook | William Stein |
2006 | Pandoc | John MacFarlane |
2009 | GitHub Flavored Markdown | Tom Preston-Werner |
2011 | iPython Notebook | Fernando Perez |
2012 | knitr | Yihui Xie |
2014 | Project Jupyter | Fernando Perez |
2020 | Quarto | J.J. Allaire |
기능 | R 마크다운 | 쿼토(Quarto) |
---|---|---|
파일형식 | html_document / pdf_document / word_document | html / pdf / docx |
비머(Beamer) | beamer_presentation | beamer |
파워포인트(PPT) | powerpoint_presentation | pptx |
웹 슬라이드 | xaringan / ioslides / revealjs | revealjs |
고급 레이아웃 | tufte / distill | Quarto Article Layout |
상호 참조 | html_document2 / pdf_document2 / word_document2 | Quarto Crossrefs |
웹사이트/블로그 | blogdown / distill | Quarto Websites / Quarto Blogs |
책 | bookdown | Quarto Books |
인터랙티브 문서 | Shiny Documents | Quarto Interactive Documents |
페이지 HTML | pagedown | 출시 예정 |
학술 논문 | rticles | Quarto Journal Articles |
대쉬보드 | flexdashboard | Quarto Dashboards |
인터랙티브 자습서 | learnr | 계획 없음 |
연세대 데이터 사이언스 입문
|
||
---|---|---|
주차 | 학습내용 | 날짜 |
1 | 데이터 과학 (Data Science) | 3월7일 |
2 | 프로그래밍 기초와 마크다운 보고서 | 3월14일 |
3 | 데이터와 커뮤니티 찾기, 도움 청하기, 프로젝트 설정 | 3월21일 |
4 | 데이터 수집 | - |
5 | 자료구조(Data Structures) | 4월4일 |
6 | 데이터프레임과 SQL | 4월11일 |
7 | 버전제어, 협업, 그리고 저작권과 라이선스 | 4월18일 |
8 | 중간고사 | 4월25일 |
9 | 시각화 (Visualization) | 5월2일 |
10 | 정규표현식 | 5월9일 |
11 | 데이터 과학 프로그래밍 | 5월16일 |
12 | 데이터 과학 제품 | - |
13 | 함수형 프로그래밍 | 5월30일 |
14 | 데이터 과학 저작 | 6월6일(현충일) |
15 | R 팩키지 | 6월13일 |
16 | 기말고사 | 6월20일 |
연세대 데이터 (사이언스) 공학
|
||
---|---|---|
주차 | 학습내용 | 날짜 |
1 | 데이터 사이언스 언어 | 9월6일 |
2 | [언어] R | 9월20일 |
3 | [언어] 파이썬 | 9월27일 |
4 | [언어] API 프로그래밍 | 10월4일 |
5 | 데이터 사이언스 자료구조 | 10월11일 |
6 | [자료구조] 시계열 데이터 | 10월18일 |
7 | 중간고사 | 10월25일 |
8 | [자료구조] 지리 공간 데이터 | 11월01일 |
9 | [자료구조] NLP - 텍스트 마이닝(R) | 11월08일 |
10 | [자료구조] NLP - 파이썬 | 11월15일 |
11 | 빅데이터 시각화 | 11월22일 |
12 | 기계학습 - 예측모형 | 11월29일 |
13 | DevOps - 도커, HPC, 스파크 | 12월06일 |
14 | 제품화 | 12월13일 |
15 | 기말고사 | 12월20일 |
GS 칼텍스 시민 데이터 과학
|
|||
---|---|---|---|
일정 | 과정 | 과정상세 | 데이터셋 |
1주차 |
Introduction |
|
- |
2주차 |
Data Science |
|
- |
3주차 |
Regression and Prediction |
|
Breast Cancer, California housing prices, Bike-sharing |
3주차 |
Regression and Prediction |
|
- |
4주차 |
Classification and Hypothesis Testing |
|
Titanic, Iris, Penuins, San Francisco Crime |
4주차 |
Classification and Hypothesis Testing |
|
- |
5주차 |
Case Studies and Projects |
|
- |
GS 칼텍스 데이터 과학
|
|||
---|---|---|---|
일정 | 과목명 | 학습상세 | 데이터셋 |
00주차 | 환경설정 | 학습 도구 설치 및 학습환경 | 파머 펭귄, BitData |
01주차 | 디지털 글쓰기(보고서) | 마크다운 / Quarto | BitData |
02주차 | 명령라인 데이터 분석 | 자동화(Shell) | SWC |
03주차 | 버전 제어 | 버전제어/협업(Git / GitHub / GitLab) | |
04주차 | 프로그래밍 | SQL | Data Carpentry, DVD 렌탈 |
05주차 | 프로그래밍 | 시각화 | gapminder |
06주차 | 프로그래밍 | 파이썬 | |
07주차 | 대쉬보드 | Flexdashboard / Shinydashboard | |
08주차 | 기계학습 | tidymodels / scikit-learn | |
09주차 | 데이터 과학 제품 | RESTful API | |
10주차 | 특수 데이터 | 시계열(Time Series) | KOSPI |
11주차 | 특수 데이터 | 공간정보(Geospatial) / 텍스트 분석 | 미디어오늘 |
12주차 | 비정형 데이터 | 텍스트와 이미지 (딥러닝) |
챗GPT 데이터 사이언스 건국대 전문교육과정
|
||
---|---|---|
강의주제 | 강의내용 | 수업방법 |
1 주차 - 2023-07-01 | ||
데이터 사이언스 언어 | 챗GPT와 데이터 사이언스 | 핸즈온 실습 |
데이터 사이언스 언어 | Tidyverse와 챗GPT | 핸즈온 실습 |
데이터 사이언스 언어 | 파이썬/R/SQL 그리고 API | 핸즈온 실습 |
2 주차 - 2023-07-08 | ||
소프트웨어 카펜트리 (기본기) | 자동화: 유닉스 쉘 | 핸즈온 실습 |
소프트웨어 카펜트리 (기본기) | 버전제어: Git / GitHub | 핸즈온 실습 |
3 주차 - 2023-07-15 | ||
소프트웨어 카펜트리 (기본기) | 파이썬 / R | 핸즈온 실습 |
소프트웨어 카펜트리 (기본기) | 데이터베이스 | 핸즈온 실습 |
4 주차 - 2023-07-22 | ||
데이터 과학 자료구조 | 숫자/범주 --> 데이터프레임 | 핸즈온 실습 |
데이터 과학 자료구조 | 날짜/공간정보/네트워크 | 핸즈온 실습 |
데이터 과학 자료구조 | 텍스트/이미지/오디오 | 핸즈온 실습 |
강의주제 | 강의내용 | 수업방법 |
---|---|---|
5 주차 - 2023-07-29 | ||
디지털 글쓰기, 대쉬보드, API 개발 | 디지털 보고서(PDF, HTML, PPT) | 핸즈온 실습 |
디지털 글쓰기, 대쉬보드, API 개발 | Serverless 대쉬보드, R/Python 대쉬보드 | 핸즈온 실습 |
디지털 글쓰기, 대쉬보드, API 개발 | 기계학습 모형 API 배포 | 핸즈온 실습 |
- 주차 - 2023-08-05 | ||
휴가 | 휴가 | - |
6 주차 - 2023-08-12 | ||
챗GPT와 오픈소스 | (오픈소스) 거대언어모형(LLM) | 핸즈온 실습 |
챗GPT와 오픈소스 | Write/Draw/Coding/Reasoning | 핸즈온 실습 |
챗GPT와 오픈소스 | AI 시대 데이터 사이언스 제품개발 방법 | 핸즈온 실습 |
7 주차 - 2023-08-19 | ||
Prompt Engineering | 사용자 및 개발자를 위한 프롬프트 공학 | 핸즈온 실습 |
Prompt Engineering | OpenAI API 기반 NLP 개발 | 핸즈온 실습 |
Prompt Engineering | OPL(OpenAI, Pinecone, Langchain) 프레임워크 | 핸즈온 실습 |
8 주차 - 2023-08-26 | ||
챗GPT AI 앱 프로젝트 | 오픈소스 LLM 기반 AI 데이터 분석 제품 | 핸즈온 실습 |
챗GPT AI 앱 프로젝트 | 데이터 사이언스 AutoGPT | 핸즈온 실습 |
챗GPT AI 앱 프로젝트 | 챗GPT AI 프로젝트 발표 | 핸즈온 실습 |