๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

728x90

๋ฉ€ํ‹ฐ์บ ํผ์Šค

3/18 ๊ธˆ ๋ถˆ๊ธˆ! ๐Ÿ˜ป DataFrame์ด ์ œ๊ณตํ•˜๋Š” ๋ถ„์„์šฉ ํ•จ์ˆ˜๋“ค๋กœ ๊ธฐ์ˆ  ๋ถ„์„(Descriptive Analysis)์— ํ•„์š”ํ•œ ํ‰๊ท , ํ‘œ์ค€ํŽธ์ฐจ, ๋ถ„์‚ฐ, ๊ณต๋ถ„์‚ฐ, ์ƒ๊ด€๊ณ„์ˆ˜, ์‚ฌ๋ถ„์œ„ ๊ตฌํ•จ 1. ์ง‘๊ณ„ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•  ๋•Œ axis๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด default๋Š” 0, ํ–‰ ๋ฐฉํ–ฅ. ์—ด๋ผ๋ฆฌ ๋”ํ•จ. dropna=True๊ฐ€ default์ด๋ฏ€๋กœ ์—ฐ์‚ฐ์—์„œ ์ œ์™ธ import numpy as np import pandas as pd data = np.array([[2, np.nan], # np.nan ๊ฒฐ์น˜๊ฐ’ [7, -3], [np.nan, np.nan], [1, -2]]) # print(data) df = pd.DataFrame(data, columns=['one', 'two'], index=['a', 'b', 'c', 'd']) disp.. ๋”๋ณด๊ธฐ
3/17 ๋ชฉ ๋ชฉ์š”์ผ! ์˜ค๋Š˜์€ ์™ธ๋ถ€ resource๋ฅผ ์ด์šฉํ•ด์„œ DataFrame์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ฐฐ์šด๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ CSV ํŒŒ์ผ ์‚ฌ์šฉ, ๋‘ ๋ฒˆ์งธ๋Š” MySQL ์•ˆ์— DB๋กœ๋ถ€ํ„ฐ SQL ์ด์šฉํ•ด DataFrame์„ ์ƒ์„ฑ - SQL ์ง์ ‘ or ORM ๋ฐฉ์‹(Django) Jupyter Notebook๊ณผ MySQL ์—ฐ๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด Anaconda Prompt๋กœ ์™ธ๋ถ€ ๋ชจ๋“ˆ ์„ค์น˜ conda activate machine conda install pymysql 1. MySQL์— ์ƒˆ๋กœ์šด schema ์ƒ์„ฑ ํ›„ ๋ฉ”๋‰ด์—์„œ Open SQL Script๋กœ DB ์—ด๊ธฐ ์ƒˆ๋กœ์šด Query Tab ์—ด๋ฆฌ๋ฉด ๋ฒˆ๊ฐœ ๋ˆŒ๋Ÿฌ์ฃผ๊ณ , ์•ˆ์— ์žˆ๋Š” DB ํ™•์ธ create database lecture_0317; use lecture_0317; select * fro.. ๋”๋ณด๊ธฐ
3/16 ์ˆ˜ ์ˆ˜์š”์ผ! ์–ด์ œ~์˜ค๋Š˜๊นŒ์ง€ Numpy! ์˜ค๋Š˜ ์˜คํ›„~์ด๋ฒˆ ์ฃผ๊นŒ์ง€ Pandas ์ง„๋„! Anaconda Prompt์—์„œ Jupyter notebook ์‹คํ–‰ conda activate machine jupyter notebook 1. ํ–‰๋ ฌ๊ณฑ ์—ฐ์‚ฐ์€ ์•ž์ชฝ์˜ 2์ฐจ์› matrix ์—ด๊ณผ ๋’ค์ชฝ์˜ 2์ฐจ์› matrix ํ–‰ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์•„์•ผ ํ•จ. (3, 2) * (2, 2) import numpy as np arr1 = np.array([[1,2,3], [4,5,6]]) # (2,3) arr2 = np.array([[4,5],[6,7],[8,9]]) # (3,2) print(np.matmul(arr1, arr2)) # matmul() ํ•จ์ˆ˜ ์‚ฌ์šฉํ•ด์„œ ๊ณ„์‚ฐ. ๊ฒฐ๊ณผ๋Š” (2,2) # [[ 40 46] # [ 94 109]] 2. ์ „์น˜ํ–‰๋ ฌ(.. ๋”๋ณด๊ธฐ
3/15 ํ™” ํ™”์š”์ผ! ์šฐ์˜ค์˜ค์˜ค ๋“œ๋””์–ด ์ „๊ณต์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ํ•™์Šต ์‹œ์ž‘! ์ˆ˜์—… ํ›„์—” ํ˜„์—… ๊ฐœ๋ฐœ์ž(๋ฌด๋ ค ์—”์”จ์†Œํ”„ํŠธ, ๋„ฅ์Šจ์ฝ”๋ฆฌ์•„๋ฅผ ๊ฑฐ์ณ ์ง๋ฐฉ)์˜ ์ทจ์—…ํŠน๊ฐ•์ด ์žˆ๋‹ค~ '์ปค๋ฆฌ์–ดํŒจ์Šค ๊ฐ€์ด๋“œ' : ์ปค๋ฆฌ์–ด ๋งต, ๊ธฐ์—…๋ณ„ ์žฅ๋‹จ์ , ํ˜„์—… ๊ฐœ๋ฐœ์ž์˜ ์กฐ์–ธ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ง‘ · ๊ฐ€๊ณต(Data Handling)์ด Machine Learning์˜ 60~80%๋ฅผ ์ฐจ์ง€ํ•จ ์ •์ œ๋œ ๋ฐ์ดํ„ฐ → ์ •ํ™•ํ•œ ๊ฒฐ๊ณผ 1. Anaconda Prompt์—์„œ Jupyter notebook ์‹คํ–‰ 2022.01.18 - [๋ฉ€ํ‹ฐ์บ ํผ์Šค ํ”„๋กœ์ ํŠธํ˜• AI ์„œ๋น„์Šค ๊ฐœ๋ฐœ 5ํšŒ์ฐจ/Python] - 1/18 ํ™” 2. Python module ์ค‘ Pandas๊ฐ€ data handling์— ์‚ฌ์šฉ๋จ ← data๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ์— ์š”๊ธดํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์คŒ Pandas์˜ data-type์„ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋Š” Numpy mo.. ๋”๋ณด๊ธฐ
1ํšŒ ์ฐจ | 3/14 ์›” ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌ ์ง“๊ณ , ์ง€๋‚œ์ฃผ ๋ชฉ์š”์ผ๋ถ€ํ„ฐ ์šฐ๋ฆฌ ํŒ€ ์ฐฝํ˜„๋‹˜๊ณผ ๊ธฐํšํ•œ ์Šคํ„ฐ๋””์˜ ์ฒซ ๋ชจ์ž„์„ ์–ด์ œ ์˜คํ›„ 8์‹œ์— ์ง„ํ–‰ํ–ˆ๋‹ค. ๋“ ๋“ ํ•œ ์šฐ๋ฆฌ 2๋ถ„์˜ ๊ณ ๋ฌธ๋‹˜๋“ค๊ป˜์„œ ์ง€๋‚œ์ฃผ๋ถ€ํ„ฐ ํ† ๋ก ์˜ ํ† ๋ก ์˜ ๊ฑฐ์ณ ์ปค๋ฆฌํ˜๋Ÿผ์„ ์งœ์ฃผ์…จ๋‹ค. ์ฃผ์ œ๋Š” ๋จธ์‹ /๋”ฅ๋Ÿฌ๋‹๊ณผ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋Š” ๋งค์ผ ํ•œ ๋ฌธ์ œ์”ฉ ํ’€๊ณ  ๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋”์— ์ธ์ฆ ๋‚จ๊ธฐ๊ณ , ์บ๊ธ€ ๋จธ์‹ ๋Ÿฌ๋‹ ์˜ˆ์ œ๋ฅผ ๋งค์ฃผ ํ•˜๋‚˜์”ฉ ํ’€๊ธฐ! ๋งค์ฃผ ํ™”/๊ธˆ ์˜คํ›„ 8์‹œ ๋””์Šค์ฝ”๋“œ์—์„œ ๋ชจ์ด๋ฉฐ, ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฆฌ๋ทฐ ํ•œ ์‹œ๊ฐ„ + ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฆฌ๋ทฐ ํ•œ ์‹œ๊ฐ„์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค. ๋ชฉํ‘œ๋Š” ๋ฉ€ํ‹ฐ์บ ํผ์Šค ์ฃผ๊ฐ„ ์ˆ˜์—… ์ปค๋ฆฌํ˜๋Ÿผ์„ ๋„˜์–ด, ์‹ค์Šต ์œ„์ฃผ๋กœ ํ•™์Šตํ•˜๊ณ  AI ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ณ  ๋‚˜์ค‘์—” ๊ฒฝ์ง„๋Œ€ํšŒ(์บ๊ธ€, ๋ฐ์ด์ฝ˜)์— ์ถœ์ „! ์ด์ธ์›์€ 12๋ช…์œผ๋กœ, ์ผ์ •(ํšŸ์ˆ˜, ์š”์ผ, ์‹œ๊ฐ„)์„ ์ •ํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ๋…น๋ก์ง€ ์•Š์•˜๋‹ค. ๋‹คํ–‰ํžˆ ์—ด์˜ ์žˆ๊ณ , ๋จธ์‹ ๋Ÿฌ๋‹์„ ํ˜ผ.. ๋”๋ณด๊ธฐ
3/14 ์›”_์ธํ„ฐํŽ˜์ด์Šค ํ”„๋กœ์ ํŠธ ์˜ค๋žœ๋งŒ!! ๋“œ๋””์–ด ์ธํ„ฐํŽ˜์ด์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งˆ๋ฌด๋ฆฌ๋˜์—ˆ๋‹ค! 2/22 ํ™”์š”์ผ๋ถ€ํ„ฐ 3/9 ์ˆ˜์š”์ผ๊นŒ์ง€ 16์ผ ๋™์•ˆ ์ž‘์—…ํ•˜๊ณ , 3/14 ์˜ค๋Š˜! ๋ฐœํ‘œ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฏธ๋ฆฌ ๋Œ€๋ณธ์„ ๋งŒ๋“ค์–ด ๋ฐœํ‘œ๋ถ€ํ„ฐ ์‹œ์—ฐ๊นŒ์ง€ ์˜์ƒ์œผ๋กœ ์ดฌ์˜ํ•จ. ์˜ˆ๋ฐฉ์ ‘์ข… ํ˜„ํ™ฉ API๋ž‘ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ƒ์„ธ ํŽ˜์ด์ง€ ์›น๋””์ž์ธ ๋งŒ์ง„ ๊ฑฐ(์ƒ‰๊น” ํ†ต์ผ) GitHub์— ์˜ฌ๋ ธ๋Š”๋ฐ, ์˜์ƒ์— ๋ฐ˜์˜์ด ์•ˆ ๋ผ์„œ ๋„ˆ๋ฌด ์•„์‰ฝ๋‹ค. ๐Ÿ˜‚ 1์กฐ - ์˜ํ™” ์ปค๋ฎค๋‹ˆํ‹ฐ : ์†Œ์…œ(์นด์นด์˜ค ๊ณ„์ •) ์—ฐ๋™ ํšŒ์›๊ฐ€์ž… 2์กฐ - ๋ง›์ง‘ ์ปค๋ฎค๋‹ˆํ‹ฐ : Map API 3์กฐ - ์‡ผํ•‘๋ชฐ : ์ œํ’ˆ ์นดํ…Œ๊ณ ๋ฆฌ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ๋Œ“๊ธ€ ์ˆ˜ ์ˆœ์œผ๋กœ ์ œํ’ˆ ์ถ”์ฒœ 4์กฐ - ์ฝ”๋กœ๋‚˜ ์ปค๋ฎค๋‹ˆํ‹ฐ : Map API(๋ณ‘์› · ์•ฝ๊ตญ ๋งˆํ‚น), ์˜ˆ๋ฐฉ์ ‘์ข… · ํ™•์ง„์ž ํ˜„ํ™ฉ API, ์ž๊ฐ€์ง„๋‹จ, ์ „๋ฌธ์˜ ์ƒ์ฃผ ๊ฒŒ์‹œํŒ 5์กฐ - ์˜ํ™” · TV ํ”„๋กœ๊ทธ๋žจ ๊ฒ€์ƒ‰ : ์žฅ๋ฅด์— ๋”ฐ๋ผ.. ๋”๋ณด๊ธฐ
2/21 ์›” ์›”์š”์ผ! ์˜ค๋Š˜์€ Django์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ์‚ฌ์šฉ์ž ๋ฐ ๊ถŒํ•œ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ์˜คํ›„ 3์‹œ๋ถ€ํ„ฐ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ์ˆ˜์—…์— ๋Œ€ํ•œ ์‹œํ—˜์ด ์žˆ๊ณ , ์˜คํ›„ 4์‹œ๋ถ€ํ„ฐ ํŒ€ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰! 1. users app ๋งŒ๋“ค๊ณ  lecture ํด๋”์˜ settings.py์— ์•ฑ ๋“ฑ๋ก ↓PyCharm Terminal↓, ↓settings.py↓ python manage.py startapp users # PyCharm Terminal -------------------------------- INSTALLED_APPS = [ # lecture ํด๋”์˜ settings.py 'users.apps.UsersConfig' ] 2. MySQL์—์„œ auth_user์˜ DESC ๋ณด๊ธฐ. username์ด id 3. auth_user D.. ๋”๋ณด๊ธฐ
2/18 ๊ธˆ ์•œ ๋ถˆ๊ธˆ!!!!! ๐Ÿฑ‍๐Ÿ๐Ÿฑ‍๐Ÿ‘ค ์˜ค๋Š˜์€ ์–ด์ œ ์ถ”๊ฐ€ํ–ˆ๋˜ ๊ฒŒ์‹œํŒ ๊ธ€ ์ƒ์„ธ๋ณด๊ธฐ ํŽ˜์ด์ง€ ํ•˜๋‹จ์— ๋„ฃ์—ˆ๋˜ ๋ฒ„ํŠผ๋“ค์˜ ๊ธฐ๋Šฅ์„ ์‹คํ˜„์‹œํ‚จ๋‹ค. ์˜คํ›„ 3์‹œ ๋ฐ˜ ์ •๋„์— ๊ฒŒ์‹œํŒ ๊ตฌํ˜„์„ ๋งˆ๋ฌด๋ฆฌ ์ง“๊ณ , ํŽธ์„ฑ๋œ ์กฐ๋ณ„๋กœ ์†ŒํšŒ์˜์‹ค์—์„œ ๋‚˜๋จธ์ง€ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ๋‹ค. ํŒ€์›๋“ค๊ณผ ์•„์ด์Šค๋ธŒ๋ ˆ์ดํ‚น, ์›น ํ”„๋กœ์ ํŠธ ์ฃผ์ œ ์„ ์ •, ์Šคํ† ๋ฆฌ ๋ณด๋“œ ์ž‘์„ฑํ•จ~ ์›”์š”์ผ์—๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ์ˆ˜์—…์— ๋Œ€ํ•œ ์ฒซ ํ‰๊ฐ€(ํ•„๋‹ต)๊ฐ€ ์žˆ์„ ์˜ˆ์ •! ์ฃผ๋ง ๋™์•ˆ ์—ฌํƒœ ๋ฐฐ์šฐ๋ฉฐ ์ •๋ฆฌํ–ˆ๋˜ ๋‚ด์šฉ๋“ค์„ ๋‹ค์‹œ ์ ๊ฒ€ํ•˜๊ณ , ๊ฒŒ์‹œํŒ ๊ธฐ๋Šฅ์„ ๋งˆ์ € ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. 1. ๋ฆฌ์ŠคํŠธ๋กœ ๋Œ์•„๊ฐ€๊ธฐ ๋ฒ„ํŠผ JavaScript event ๋ฐฉ์‹(Delegation Model)์œผ๋กœ ์ฒ˜๋ฆฌ ↓detail.html↓ ๋ฆฌ์ŠคํŠธ๋กœ ๋Œ์•„๊ฐ€๊ธฐ ↓menu_btn.js↓ function to_list() { document.location.href = .. ๋”๋ณด๊ธฐ

728x90