๐ Data Mining
2024.07.24
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..
๐ Data Mining
2024.07.23
Gradient Descent (๊ฒฝ์ฌ ํ๊ฐ๋ฒ)๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Gradient Descent)์ ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก, ์ฃผ์ด์ง ํจ์์ ์ต์๊ฐ์ ์ฐพ๋ ๋ฐฉ๋ฒ์
๋๋ค.์ด ์๊ณ ๋ฆฌ์ฆ์ ๋จธ์ ๋ฌ๋๊ณผ ๋ฅ ๋ฌ๋ ๋ชจ๋ธ์ ํ์ต ๊ณผ์ ์์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.๊ฒฝ์ฌํ๊ฐ๋ฒ์ ์์ด๋์ด (The Idea Behind Gradient Descent)์ฐ๋ฆฌ๋ ์ข
์ข
ํจ์ ๐๋ฅผ ์ต๋ํ(๋๋ ์ต์ํ)ํด์ผ ํ ํ์๊ฐ ์์ ๊ฒ์
๋๋ค.์ฆ, ์ฐ๋ฆฌ๋ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์(๋๋ ๊ฐ์ฅ ํฐ) ๊ฐ์ ์์ฑํ๋ ์
๋ ฅ v๋ฅผ ์ฐพ์์ผ ํฉ๋๋ค.๊ทธ๋ฆฌ๊ณ ์ด๋, ํจ์ ๐๋ฅผ ์ต๋ํ(๋๋ ์ต์ํ)ํด์ผ ํฉ๋๋ค. ์ฆ, ๊ฐ๋ฅํ ๊ฐ์ฅ ์์(๋๋ ๊ฐ์ฅ ํฐ) ๊ฐ์ ๋ง๋๋ ์
๋ ฅ ๐ฃ๋ฅผ ์ฐพ์์ผ ํฉ๋๋ค.์ด๊ฒ์ ๋ง์ ๋ฌธ์ ์์ ๋ฐ์ํ๋ ์ผ์
๋๋ค. ์๋ฅผ ๋ค์ด, ๋น์ฉ ํจ์(cost function)๋ฅผ ์ต์..
๐ Data Mining
2024.07.14
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..
๐ Data Mining
2024.07.09
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..
๐ Data Mining
2024.07.05
BroadcastingNumpy์ Broadcasting์ ์๋ก ๋ค๋ฅธ ํฌ๊ธฐ์ ๋ฐฐ์ด ๊ฐ์ ์ฐ์ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์
๋๋ค. Broadcasting์ ํตํด Numpy๋ ๋ ์์ ๋ฐฐ์ด์ ๋ ํฐ ๋ฐฐ์ด๊ณผ ๋์ผํ ๋ชจ์์ผ๋ก ํ์ฅํ์ฌ ์์๋ณ(element-wise) ์ฐ์ฐ์ ์ํํ ์ ์์ต๋๋ค. ์ด๋ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ง ์๊ณ ๋ ํจ์จ์ ์ธ ๋ฒกํฐํ ์ฐ์ฐ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.๋ธ๋ก๋์บ์คํธ๋ ์ฐ์ ์ฐ์ฐ ์ค์ numpy๊ฐ ๋ค์ํ ๋ชจ์์ ๊ฐ์ง ๋ฐฐ์ด์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง ์ค๋ช
ํฉ๋๋ค.ํน์ ์ ์ฝ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ ์์ ๋ฐฐ์ด์ ๋ ํฐ ๋ฐฐ์ด์ ๊ฑธ์ณ "๋ธ๋ก๋์บ์คํธ"๋์ด ํธํ ๊ฐ๋ฅํ ๋ชจ์์ ๊ฐ์ต๋๋ค.ExamplesA (2d array): 5 x 4B (1d array): 1Result (2d array): 5 x 4..
๐ Data Mining
2024.06.26
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..
๐ Data Mining
2024.06.25
๋ฐ์ดํฐ ์๊ฐํ๋ฅผ ์ํ ๋ ๊ฐ์ง ์ฃผ์ ์ฉ๋๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ค๋ฉด? ๋ ๊ฐ์ง ์ฃผ์ ์ฉ๋์ ๋ฐํ์ฌ ์์์ผ ํฉ๋๋ค. ํ์์ ๋ฐ์ดํฐ ๋ถ์ (Exploratory Data Analysis, EDA)๋ชฉ์ : ๋ฐ์ดํฐ์ ํจํด, ํธ๋ ๋, ์ด์์น๋ฅผ ์๋ณํ๊ณ ์ดํดํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ํ์
ํ๊ณ ํต๊ณ์ ๊ด๊ณ๋ฅผ ๋ฐ๊ฒฌํ๋ ์ด๊ธฐ ๋จ๊ณ์์ ๋งค์ฐ ์ค์ํฉ๋๋ค.๋๊ตฌ: ํ์คํ ๊ทธ๋จ, ๋ฐ์ค ํ๋กฏ, ์ฐ์ ๋, ์ด์ง๋์ ๊ฐ์ ๊ทธ๋ํ๊ฐ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.์ค๋ช
์ ๋ฐ์ดํฐ ๋ถ์ (Explanatory Data Analysis)๋ชฉ์ : ํน์ ๋ฐ๊ฒฌ์ด๋ ํต์ฐฐ์ ์ ๋ฌํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ๋ฅผ ํตํด ์ด์ผ๊ธฐํ๊ฑฐ๋ ์์ฌ ๊ฒฐ์ ์ ์ง์ํ๋ ๊ณผ์ ์์ ์ค์ํฉ๋๋ค.๋๊ตฌ: ๋ง๋ ๊ทธ๋ํ, ํ์ด ์ฐจํธ, ์ ๊ทธ๋ํ, ๋์๋ณด๋ ๋ฑ์ด ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋..
๐ Data Mining
2024.06.25
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..
๐ Data Mining
2024.06.25
๊ณต๋ฐฑ ์์ ์ง์ ๋ง์ ์ธ์ด๋ค์ด ์ฝ๋ ๋ธ๋ก๋ค์ ๊ฒฝ๊ณ๋ฅผ ์ ํ๊ธฐ ์ํด ๊ดํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ์ด์ฌ์ ์ด๊ฑธ 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 + ..