πŸ“ˆ Data Engineering/πŸ“ Data Mining
  • Getting Datafrom collections import Counterimport math, random, csv, json, refrom bs4 import BeautifulSoupimport requests μ˜ˆλ₯Ό λ“€μ–΄, beautifulsoup 같은, μ–΄λ–€ λͺ¨λ“ˆμ΄ μ„€μΉ˜λ˜μ§€ μ•Šμ•˜λ‹€λ©΄? μ–΄λ–»κ²Œ ν•΄μ•Ό ν• κΉŒμš”?googling: μ•„λ‚˜μ½˜λ‹€ beautifulsoup μ„€μΉ˜ 방법ꡬ글 λ‹΅λ³€μ—μ„œ μ•„λ‚˜μ½˜λ‹€ ν΄λΌμš°λ“œλ₯Ό μ°ΎμœΌμ„Έμš”. λͺ¨λ“ˆλ“€μ΄ ν…ŒμŠ€νŠΈλ˜κ³  μ•ˆμ „ν•œ κ³³μž…λ‹ˆλ‹€.이제, μ—¬λŸ¬λΆ„μ€ λΆ€λ„λŸ¬μš΄ μ •λ„λ‘œ λ§Žμ€ μ‹œκ°„μ„ acquiring(νšλ“), cleaning(정리), and transforming data(데이터 λ³€ν™˜)에 ν• μ• ν•˜κ²Œ 될 κ²ƒμž…λ‹ˆλ‹€.stdin and stdoutNumber of lines containing num..

    Read more
  • [Data Mining] Gradient Descent (경사 ν•˜κ°•λ²•)

    Gradient Descent (경사 ν•˜κ°•λ²•)경사 ν•˜κ°•λ²•(Gradient Descent)은 μ΅œμ ν™” μ•Œκ³ λ¦¬μ¦˜ 쀑 ν•˜λ‚˜λ‘œ, 주어진 ν•¨μˆ˜μ˜ μ΅œμ†Œκ°’μ„ μ°ΎλŠ” λ°©λ²•μž…λ‹ˆλ‹€.이 μ•Œκ³ λ¦¬μ¦˜μ€ λ¨Έμ‹  λŸ¬λ‹κ³Ό λ”₯ λŸ¬λ‹ λͺ¨λΈμ˜ ν•™μŠ΅ κ³Όμ •μ—μ„œ 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.κ²½μ‚¬ν•˜κ°•λ²•μ˜ 아이디어 (The Idea Behind Gradient Descent)μš°λ¦¬λŠ” μ’…μ’… ν•¨μˆ˜ 𝑓λ₯Ό μ΅œλŒ€ν™”(λ˜λŠ” μ΅œμ†Œν™”)ν•΄μ•Ό ν•  ν•„μš”κ°€ μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.즉, μš°λ¦¬λŠ” κ°€λŠ₯ν•œ κ°€μž₯ μž‘μ€(λ˜λŠ” κ°€μž₯ 큰) 값을 μƒμ„±ν•˜λŠ” μž…λ ₯ vλ₯Ό μ°Ύμ•„μ•Ό ν•©λ‹ˆλ‹€.그리고 μ΄λ•Œ, ν•¨μˆ˜ 𝑓λ₯Ό μ΅œλŒ€ν™”(λ˜λŠ” μ΅œμ†Œν™”)ν•΄μ•Ό ν•©λ‹ˆλ‹€. 즉, κ°€λŠ₯ν•œ κ°€μž₯ μž‘μ€(λ˜λŠ” κ°€μž₯ 큰) 값을 λ§Œλ“œλŠ” μž…λ ₯ 𝑣λ₯Ό μ°Ύμ•„μ•Ό ν•©λ‹ˆλ‹€.이것은 λ§Žμ€ λ¬Έμ œμ—μ„œ λ°œμƒν•˜λŠ” μΌμž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„μš© ν•¨μˆ˜(cost function)λ₯Ό μ΅œμ†Œ..

    Gradient Descent (경사 ν•˜κ°•λ²•)경사 ν•˜κ°•λ²•(Gradient Descent)은 μ΅œμ ν™” μ•Œκ³ λ¦¬μ¦˜ 쀑 ν•˜λ‚˜λ‘œ, 주어진 ν•¨μˆ˜μ˜ μ΅œμ†Œκ°’μ„ μ°ΎλŠ” λ°©λ²•μž…λ‹ˆλ‹€.이 μ•Œκ³ λ¦¬μ¦˜μ€ λ¨Έμ‹  λŸ¬λ‹κ³Ό λ”₯ λŸ¬λ‹ λͺ¨λΈμ˜ ν•™μŠ΅ κ³Όμ •μ—μ„œ 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.κ²½μ‚¬ν•˜κ°•λ²•μ˜ 아이디어 (The Idea Behind Gradient Descent)μš°λ¦¬λŠ” μ’…μ’… ν•¨μˆ˜ 𝑓λ₯Ό μ΅œλŒ€ν™”(λ˜λŠ” μ΅œμ†Œν™”)ν•΄μ•Ό ν•  ν•„μš”κ°€ μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.즉, μš°λ¦¬λŠ” κ°€λŠ₯ν•œ κ°€μž₯ μž‘μ€(λ˜λŠ” κ°€μž₯ 큰) 값을 μƒμ„±ν•˜λŠ” μž…λ ₯ vλ₯Ό μ°Ύμ•„μ•Ό ν•©λ‹ˆλ‹€.그리고 μ΄λ•Œ, ν•¨μˆ˜ 𝑓λ₯Ό μ΅œλŒ€ν™”(λ˜λŠ” μ΅œμ†Œν™”)ν•΄μ•Ό ν•©λ‹ˆλ‹€. 즉, κ°€λŠ₯ν•œ κ°€μž₯ μž‘μ€(λ˜λŠ” κ°€μž₯ 큰) 값을 λ§Œλ“œλŠ” μž…λ ₯ 𝑣λ₯Ό μ°Ύμ•„μ•Ό ν•©λ‹ˆλ‹€.이것은 λ§Žμ€ λ¬Έμ œμ—μ„œ λ°œμƒν•˜λŠ” μΌμž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λΉ„μš© ν•¨μˆ˜(cost function)λ₯Ό μ΅œμ†Œ..

    Read more
  • Describing a Single Set of Data (단일 데이터 μ„ΈνŠΈ)단일 데이터 μ„ΈνŠΈ(describing a single set of data)λŠ” ν•˜λ‚˜μ˜ 데이터 μ„ΈνŠΈμ— λŒ€ν•œ νŠΉμ„±μ΄λ‚˜ νŠΉμ§ˆμ„ μ„€λͺ…ν•˜κ³  λΆ„μ„ν•˜λŠ” 과정을 μ˜λ―Έν•©λ‹ˆλ‹€.이λ₯Ό 톡해 λ°μ΄ν„°μ˜ 쀑심 κ²½ν–₯, λΆ„μ‚°, ν˜•νƒœ 및 뢄포 등을 νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.예λ₯Ό 듀어보면, λͺ¨κΈˆ ν™œλ™ λ‹¨μ²΄μ˜ 뢀사μž₯이 νšŒμ›λ“€μ΄ 친ꡬλ₯Ό μ–Όλ§ˆλ‚˜ 가지고 μžˆλŠ”μ§€μ— λŒ€ν•œ μ„€λͺ…을 μš”μ²­ν–ˆμŠ΅λ‹ˆλ‹€.from collections import Counterfrom linear_algebra import sum_of_squares, dotimport mathfrom operator import addnum_friends = [100,49,41,40,25,21,21,19,19,18,18,16..

    Read more
  • Linear AlgebraLinear Algebra (μ„ ν˜•λŒ€μˆ˜ν•™)은 벑터 곡간, ν–‰λ ¬, μ„ ν˜• λ³€ν™˜ λ“±μ˜ κ°œλ…μ„ μ—°κ΅¬ν•˜λŠ” μˆ˜ν•™μ˜ ν•œ λΆ„μ•Όμž…λ‹ˆλ‹€μ£Όλ‘œ 닀차원 κ³΅κ°„μ—μ„œμ˜ 벑터와 ν–‰λ ¬μ˜ μ—°μ‚° 및 이듀 κ°„μ˜ 관계λ₯Ό 닀루며, 곡학, 물리학, 컴퓨터 κ³Όν•™ λ“± λ‹€μ–‘ν•œ λΆ„μ•Όμ—μ„œ μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.λ˜ν•œ λ§Žμ€ 데이터 κ³Όν•™ κ°œλ…κ³Ό κΈ°μˆ μ„ λ’·λ°›μΉ¨ν•©λ‹ˆλ‹€.import re, math, random # regexes, math functions, random numbersimport matplotlib.pyplot as plt # pyplotfrom collections import defaultdict, Counterfrom functools import partial, reduce VectorsVectorsλŠ” μ–΄λ–€ finite..

    Read more
  • BroadcastingNumpy의 Broadcasting은 μ„œλ‘œ λ‹€λ₯Έ 크기의 λ°°μ—΄ κ°„μ˜ 연산을 κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” κ°•λ ₯ν•œ κΈ°λŠ₯μž…λ‹ˆλ‹€. Broadcasting을 톡해 NumpyλŠ” 더 μž‘μ€ 배열을 더 큰 λ°°μ—΄κ³Ό λ™μΌν•œ λͺ¨μ–‘μœΌλ‘œ ν™•μž₯ν•˜μ—¬ μš”μ†Œλ³„(element-wise) 연산을 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ°˜λ³΅λ¬Έμ„ μ‚¬μš©ν•˜μ§€ μ•Šκ³ λ„ 효율적인 벑터화 연산을 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€.λΈŒλ‘œλ“œμΊμŠ€νŠΈλŠ” μ‚°μˆ  μ—°μ‚° 쀑에 numpyκ°€ λ‹€μ–‘ν•œ λͺ¨μ–‘을 가진 배열을 μ–΄λ–»κ²Œ μ²˜λ¦¬ν•˜λŠ”μ§€ μ„€λͺ…ν•©λ‹ˆλ‹€.νŠΉμ • μ œμ•½ 쑰건에 따라 더 μž‘μ€ 배열은 더 큰 배열에 걸쳐 "λΈŒλ‘œλ“œμΊμŠ€νŠΈ"λ˜μ–΄ ν˜Έν™˜ κ°€λŠ₯ν•œ λͺ¨μ–‘을 κ°–μŠ΅λ‹ˆλ‹€.ExamplesA (2d array): 5 x 4B (1d array): 1Result (2d array): 5 x 4..

    Read more
  • Introduction to Numpy NumpyλŠ” numberal Python의 μ•½μžλ‘œ, 수치 계산을 μ§€μ›ν•˜κΈ° μœ„ν•œ Python 라이브러리 νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€.Numpyμ—μ„œ 기본적인 데이터 κ΅¬μ‘°λŠ” ndarrayλΌλŠ” 닀차원 λ°°μ—΄ κ°μ²΄μž…λ‹ˆλ‹€.NumpyλŠ” ndarray의 μš”μ†Œλ“€μ„ 효율적으둜 μ‘°μž‘ν•  수 μžˆλŠ” 일련의 ν•¨μˆ˜λ“€μ„ μ œκ³΅ν•œλ‹€λŠ” νŠΉμ§•μ΄ μžˆμŠ΅λ‹ˆλ‹€.μ„€λͺ…μ„œλ₯Ό 보렀면 μ•„λž˜ 링크λ₯Ό μ°Έκ³ ν•˜μ„Έμš”. NumPy documentation — NumPy v2.0 ManualThe reference guide contains a detailed description of the functions, modules, and objects included in NumPy. The reference describes how the met..

    Read more
  • [Data Mining] Visualizing Data

    데이터 μ‹œκ°ν™”λ₯Ό μœ„ν•œ 두 가지 μ£Όμš” μš©λ„λ°μ΄ν„°λ₯Ό νƒμƒ‰ν•˜λ €λ©΄? 두 가지 μ£Όμš” μš©λ„μ— λ°ν•˜μ—¬ μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€. νƒμƒ‰μ  데이터 뢄석 (Exploratory Data Analysis, EDA)λͺ©μ : λ°μ΄ν„°μ˜ νŒ¨ν„΄, νŠΈλ Œλ“œ, μ΄μƒμΉ˜λ₯Ό μ‹λ³„ν•˜κ³  μ΄ν•΄ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. μ΄λŠ” λ°μ΄ν„°μ˜ ꡬ쑰λ₯Ό νŒŒμ•…ν•˜κ³  톡계적 관계λ₯Ό λ°œκ²¬ν•˜λŠ” 초기 λ‹¨κ³„μ—μ„œ 맀우 μ€‘μš”ν•©λ‹ˆλ‹€.도ꡬ: νžˆμŠ€ν† κ·Έλž¨, λ°•μŠ€ ν”Œλ‘―, 산점도, 열지도와 같은 κ·Έλž˜ν”„κ°€ 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.μ„€λͺ…적 데이터 뢄석 (Explanatory Data Analysis)λͺ©μ : νŠΉμ • λ°œκ²¬μ΄λ‚˜ 톡찰을 μ „λ‹¬ν•˜κΈ° μœ„ν•΄ 데이터λ₯Ό μ‹œκ°μ μœΌλ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€. μ΄λŠ” 데이터λ₯Ό 톡해 μ΄μ•ΌκΈ°ν•˜κ±°λ‚˜ μ˜μ‚¬ 결정을 μ§€μ›ν•˜λŠ” κ³Όμ •μ—μ„œ μ€‘μš”ν•©λ‹ˆλ‹€.도ꡬ: λ§‰λŒ€ κ·Έλž˜ν”„, 파이 차트, μ„  κ·Έλž˜ν”„, λŒ€μ‹œλ³΄λ“œ 등이 주둜 μ‚¬μš©λ©λ‹ˆ..

    데이터 μ‹œκ°ν™”λ₯Ό μœ„ν•œ 두 가지 μ£Όμš” μš©λ„λ°μ΄ν„°λ₯Ό νƒμƒ‰ν•˜λ €λ©΄? 두 가지 μ£Όμš” μš©λ„μ— λ°ν•˜μ—¬ μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€. νƒμƒ‰μ  데이터 뢄석 (Exploratory Data Analysis, EDA)λͺ©μ : λ°μ΄ν„°μ˜ νŒ¨ν„΄, νŠΈλ Œλ“œ, μ΄μƒμΉ˜λ₯Ό μ‹λ³„ν•˜κ³  μ΄ν•΄ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. μ΄λŠ” λ°μ΄ν„°μ˜ ꡬ쑰λ₯Ό νŒŒμ•…ν•˜κ³  톡계적 관계λ₯Ό λ°œκ²¬ν•˜λŠ” 초기 λ‹¨κ³„μ—μ„œ 맀우 μ€‘μš”ν•©λ‹ˆλ‹€.도ꡬ: νžˆμŠ€ν† κ·Έλž¨, λ°•μŠ€ ν”Œλ‘―, 산점도, 열지도와 같은 κ·Έλž˜ν”„κ°€ 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.μ„€λͺ…적 데이터 뢄석 (Explanatory Data Analysis)λͺ©μ : νŠΉμ • λ°œκ²¬μ΄λ‚˜ 톡찰을 μ „λ‹¬ν•˜κΈ° μœ„ν•΄ 데이터λ₯Ό μ‹œκ°μ μœΌλ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€. μ΄λŠ” 데이터λ₯Ό 톡해 μ΄μ•ΌκΈ°ν•˜κ±°λ‚˜ μ˜μ‚¬ 결정을 μ§€μ›ν•˜λŠ” κ³Όμ •μ—μ„œ μ€‘μš”ν•©λ‹ˆλ‹€.도ꡬ: λ§‰λŒ€ κ·Έλž˜ν”„, 파이 차트, μ„  κ·Έλž˜ν”„, λŒ€μ‹œλ³΄λ“œ 등이 주둜 μ‚¬μš©λ©λ‹ˆ..

    Read more
  • The Not-So-BasicsSortingx = [4,1,2,3]y = sorted(x) # is [1,2,3,4], x is unchangedx.sort() # now x is [1,2,3,4]# sort the list by absolute value from largest to smallestx = sorted([-4,1,-2,3], key=abs, reverse=True) # is [-4,3,-2,1]# sort the words and counts from highest count to lowestwc = sorted(word_counts.items(), key=lambda x: x[1], # x[1] λ‘λ²ˆμ§Έ 값을 κΈ°μ€€μœΌλ‘œ μ •λ ¬ rev..

    Read more
  • 곡백 μ„œμ‹ μ§€μ •λ§Žμ€ 언어듀이 μ½”λ“œ λΈ”λ‘λ“€μ˜ 경계λ₯Ό μ •ν•˜κΈ° μœ„ν•΄ κ΄„ν˜Έλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. νŒŒμ΄μ¬μ€ 이걸 indentation(' : ') 이라고 λΆ€λ¦…λ‹ˆλ‹€.for i in [1, 2, 3, 4, 5]: print(i) for j in [1, 2, 3, 4, 5]: print(j) print(i + j) print(i)print("done looping")1122334455612132435465723142536475834152637485945162738495105done looping κ΄„ν˜Έ 및 κ΄„ν˜Έ μ•ˆμ— 곡백을 λ¬΄μ‹œν•˜λŠ” κ²½μš°μž…λ‹ˆλ‹€.long_winded_computation = (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + ..

    Read more