์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
[3] 241101 Python [Goorm All-In-One Pass! AI Project Master - 4th Session, Day 3] ๋ณธ๋ฌธ
[3] 241101 Python [Goorm All-In-One Pass! AI Project Master - 4th Session, Day 3]
yjyuwisely 2024. 11. 1. 09:11241101 Fri 3rd class
์ค๋ ๋ฐฐ์ด ๊ฒ ์ค ๊ธฐ์ตํ ๊ฒ์ ์ ๋ฆฌํ๋ค.
*๋ณต์ตํ๊ธฐ
https://wikidocs.net/11
02์ฅ ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์ด, ์๋ฃํ
โ์ด๋ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ ๊ทธ ์ธ์ด์ ์๋ฃํ์ ์๊ณ ์ดํดํ ์ ์๋ค๋ฉด ์ด๋ฏธ ๊ทธ ์ธ์ด์ ์ ๋ฐ์ ํฐ๋ํ ๊ฒ์ด๋ ๋ค๋ฆ์๋คโ๋ผ๋ ๋ง์ด ์๋ค. ์๋ฃํ์ด๋ ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ์ฐ์ด๋ ์ซ์,โฆ
wikidocs.net
๋ชฐ๋๋ ๊ฒ
ํ๋ค์ค(Pandas)์์ ์ฃผ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ **๋ฐ์ดํฐํ๋ ์(DataFrame)**๊ณผ **์๋ฆฌ์ฆ(Series)**์ ๋๋ค.
- ๋ฐ์ดํฐํ๋ ์(DataFrame): 2์ฐจ์ ํ ์ด๋ธ ํํ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก, ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์ ์๊ณ , ์์ ์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋ง, ๊ทธ๋ฃนํ, ์ ๋ ฌํ ์ ์์ต๋๋ค.
- ์๋ฆฌ์ฆ(Series): 1์ฐจ์ ๋ฐฐ์ด ํํ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก, ํ๋์ ๋ฐ์ดํฐ ์ ํ๋ง ๊ฐ์ง ์ ์์ต๋๋ค. ์ธ๋ฑ์ค์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋ฐ์ดํฐํ๋ ์์ ํน์ ์ด์ ์๋ฆฌ์ฆ๋ก ๋ค๋ฃฐ ์ ์์ต๋๋ค.
๋ฐ์ดํฐํ๋ ์์ ์ฌ๋ฌ ๊ฐ์ ์๋ฆฌ์ฆ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๋ ๋ค ๋ฐ์ดํฐ ๋ถ์์ ์ํ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
GPU 4080
GPU ๊ฒฌ์ ์ ๋ฉ์์ง ๊ฐ๋ฅ

01-1 ํ์ด์ฌ์ด๋?
ํ์ด์ฌ(Python)์ 1990๋ ์์คํ ๋ฅด๋ด์ ๊ท๋ ๋ฐ ๋ก์ฌ(Guido van rossum)์ด ๊ฐ๋ฐํ ์ธํฐํ๋ฆฌํฐ ์ธ์ด์ด๋ค. ๊ท๋๋ ํ์ด์ฌ์ด๋ผ๋ ์ด๋ฆ์ ์์ ์ด ์ข์ํ๋ ์ฝ๋ฏธ๋ ์ผ์ธโฆ
wikidocs.net
๊ตฌ๊ธ์์ ๋ฅ๋ฌ๋์ ์ด๋ค -> ํผ์ง
๋ฐ์ดํฐ๋ถ์ ์ ๋ฆฌ, ์น๋ฐ์ดํฐ ์์ง, ์น
์ฌ์ฉ์๊ฐ ๋ง์์ง
์ธ๊ณต์ง๋ฅ, ๋จธ์ ๋ฌ๋
ํ์ด์ฌ ์์์ ๊ฐ์ ธ์์ ์ด๋ค
Tensorflow(๊ตฌ๊ธ) - ๋ฅ๋ฌ๋ <--- 1.x --> 2.x
-> Keras ==> ์ด๋ณด์๋ถ๋ค๋ ์ ์ฌ์ฉํ๋๋ก ์ฝ๊ฒ ๋ง๋ค์๋ค, ์ฑ๋ฅ ์ค์ด๋ฆ
Pytorch - ๋ฅ๋ฌ๋
์ค๋ฌด
๋ฐ์ดํฐ ๋ถ์
Kaggle (์ ํ๋ ์ฌ๋ ์ฝ๋ ๋ณด๊ณ ๋ฐฐ์ด๋ค ์ฝ๋ ๊ตฌํํด์ ์ฌ๋ฆผ)
Matplotlib
Seaborn
Plotly
๋ฐ์ดํฐ ์ฒ๋ฆฌ
numpy
pandas
ํ๊ตญ ์จ๋ผ์ธ ๊ฐ์: ์๊ฐ ์ฑ์ฐ๋ ๊ฒฝ์ฐ ์์
AI ์ฐ๊ณ ์ ์ฐ๊ณ 30-50ํผ ์ฐจ์ด๊ฐ ๋๋ค.
๊ธฐ๋ณธ์ด Python, ์ค์ํ๋ค
Python์ ๋ชจ๋ฅด๋ฉด, ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋ ์ฑ
์ ๋ณด๊ธฐ ํ๋ฆ, ๋งํ
Python, ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ฅ๋ฌ๋์ ๋ชจ๋ฅด๋ ๊ฑด์ง
Python์ ์๊ณ ๋ชจ๋ฅด๋ ๊ฑธ ๋ช
ํํ๊ฒ ์ ์ ์๋ค.
AI ์ด๋ก ๋ ์ค์ํ๋ค
๋จ๊ณ๊ฐ ์ฌ๋ผ๊ฐ๋ฉด ๋
ผ๋ฌธ์ ๋ง์ด ๋ณธ๋ค
๊ธฐ๋ณธ ๋ฉด์ ์ง๋ฌธ
์ฐ์ต ๋ง์ด ํ๋ค
Python ์ ๋๋ก ํ๋ฉด ๋ค๋ฅธ ์ธ์ด๋ ๋ฒ์ ๋์ด์ง๊ฒ ๋๋ค.
Python -> Pandas -> Dataframe ๋ค ์ฐ๊ฒฐ ๋๋ค.
๋ชจ๋ฅด๋ ๊ฒ ๋ง์ผ๋ฉด, ์ ์ฑ ์๋๊ฐ ํ๊ณ ํฌ๊ธฐํ๊ฒ ๋๋ค (์ ๊ทธ๋ฐ์ง ๋ชจ๋ฅด๊ณ )
์ค๋ฌด 1,2,3๋
-> ๊ธฐ๋ณธ (ํ ์, ๋
ผ๋ฌธ) ๋ชจ๋ฅด๋ฉด ํ๋ฆ
knn, ๋ฅ๋ฌ๋ ๋ชจ๋ธ ์ง๋ณด๊ธฐ
๋ณต์ต ๋ช ์๊ฐ
ML, DL, LLM ์ฑ 1๊ถ ์ฌ์ ๋ณด๊ธฐ ์ ์ด๋ LLM ์ฑ
๋ณต์ต์ด ์ค์ํ๋ค
ํ๋ก์ ํธ ์ด์ฌํ ๋ง๋ค๊ธฐ, ์์ฌ์ ๋จ๊ธฐ์งX
ipynb
์๋ฃํ ์ค์ํ๋ค
https://wikidocs.net/13#_9
02-2 ๋ฌธ์์ด ์๋ฃํ
๋ฌธ์์ด(string)์ด๋ ์ฐ์๋ ๋ฌธ์๋ค์ ๋์ด์ ๋งํ๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ```plaintext Life is too short, You need Python aโฆ
wikidocs.net
์ธ๋ฑ์ฑ(indexing)์ด๋ ๋ฌด์์ธ๊ฐ๋ฅผ โ๊ฐ๋ฆฌํจ๋คโ, ์ฌ๋ผ์ด์ฑ(slicing)์ ๋ฌด์์ธ๊ฐ๋ฅผ โ์๋ผ ๋ธ๋คโ๋ผ๋ ์๋ฏธ์ด๋ค.
์ธ๋ฑ์ฑ(indexing)์ ๋ฌธ์์ด์ด๋ ๋ฆฌ์คํธ์ ํน์ ์์น์ ์๋ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ฐฉ๋ฒ์ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฌธ์์ด a์์ a[3]์ a์ 3๋ฒ์งธ ์์น์ ์๋ ๋ฌธ์๋ฅผ ๋ํ๋ ๋๋ค. ๋ฐ๋ฉด, ์ฌ๋ผ์ด์ฑ(slicing)์ ๋ฌธ์์ด์ด๋ ๋ฆฌ์คํธ์ ํน์ ๋ฒ์์ ์๋ ์ฌ๋ฌ ์์๋ฅผ ์๋ผ๋ด์ด ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, a[1:4]๋ ์ธ๋ฑ์ค 1๋ถํฐ 3๊น์ง์ ๋ฌธ์๋ค์ ํฌํจํ ๋ถ๋ถ ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค.
์ฌ๋ผ์ด์ฑ ๊ธฐ๋ฒ์ ์ด์ฉํ๋ฉด a[์์๋ฒํธ:๋ ๋ฒํธ] ๋ฅผ ์ง์ ํ ๋ ๋ ๋ฒํธ์ ํด๋นํ๋ ๊ฒ์ ํฌํจํ์ง ์๋๋ค.
https://speedanddirection.tistory.com/2
ํ์ด์ฌ์ ๊ธฐ์ด (๋ฌธ์์ด ์ธ๋ฑ์ฑ๊ณผ ์ฌ๋ผ์ด์ฑ)
#2 ํ์ด์ฌ chapter 2. ๋ฌธ์์ด ์ธ๋ฑ์ฑ๊ณผ ์ฌ๋ผ์ด์ฑ ์ธ๋ฑ์ฑ์ด๋ ๋ฌด์์ธ๊ฐ๋ฅผ '๊ฐ๋ฅดํจ๋ค'๋ ์๋ฏธ์ด๊ณ , ์ฌ๋ผ์ด์ฑ์ ๋ฌด์์ธ๊ฐ๋ฅผ '์๋ผ๋ธ๋ค' ๋ผ๋ ์๋ฏธ์ด๋ค. *๋ฌธ์์ด ์ธ๋ฑ์ฑ์ด๋? >>> a="Life is too shrot, you need p
speedanddirection.tistory.com
print(10) print(5 ** 2) # 5*5 print(5 ** 3) # 5*5*5 # ๋ฌธ์์ด # '', "" # multiline = ''' line1 line2 line3 ''' print(multiline) a = " toto's house " b = ' ' print(a, b) #a = ' toto's house ' #๋ฌธ์์ด์ ๊ณฑํ๊ธฐ print(a*3) # ๋ฌธ์์ด ๊ธธ์ด ๊ตฌํ๊ธฐ print() # ๋ฌธ์์ด์ ์ธ๋ฑ์ฑ๊ณผ ์ฌ๋ผ์ด์ฑ # ์ธ๋ฑ์ฑ -> ์ธ๋ฑ์ค ๋ฒํธ๋ก ๊ฐ์ ๋ฝ์๋ธ๋ค. # ์ฌ๋ผ์ด์ฑ -> ๋ฒ์๋ก ๊ฐ์ ๋ฝ์๋ธ๋ค. a = [1,2,3,4,5] print(a[3]) #4 print(a[1:4]) #[2, 3, 4] # format print( "I eat {0} apples".format(3, 2) ) #I eat 3 apples print( "I eat {0} {1}".format(3, "apples") ) #I eat 3 apples # f๋ฌธ์์ด ํฌ๋งคํ
num = 3 fruits = "apples" print( f"I eat {num} {fruits}" ) #I eat 3 apples
The 2 in your original example is essentially surplus and doesn't affect the output. It's an example of an unused argument in the format() method.
* extend, append ์ค์ํ๋ค
2-1 ์ค์ต - *๋งค๊ฐ๋ณ์๋ฅผ ์ด์ฉํด์ ์ฌ๋ฌ๊ฐ์ง ๊ฐ์ ๋๊ฒจ๋ฐ๊ณ , ์ถ๋ ฅํ๋ ๊ฒ.
""" def seasons(*args): args = ('๋ด', '์ฌ๋ฆ', '๊ฐ์', '๊ฒจ์ธ') print(args) """ def seasons(*args): print(args) seasons("๋ด", "์ฌ๋ฆ", "๊ฐ์", "๊ฒจ์ธ") #('๋ด', '์ฌ๋ฆ', '๊ฐ์', '๊ฒจ์ธ') def print_seasons(*seasons): for season in seasons: print(season) # ํจ์๋ฅผ ํธ์ถํ๋ฉด์ ๊ณ์ ๋ค์ ๋๊ฒจ์ค๋๋ค. print_seasons("๋ด", "์ฌ๋ฆ", "๊ฐ์", "๊ฒจ์ธ") #๋ด #์ฌ๋ฆ #๊ฐ์ #๊ฒจ์ธ
# ํจ์๋ฅผ ํธ์ถํ๋ฉด์ ๊ณ์ ๋ค์ ๋๊ฒจ์ค๋๋ค. print_seasons("๋ด", "์ฌ๋ฆ", "๊ฐ์", "๊ฒจ์ธ") def mprint(*args): #print(args) for one in args: print(one) mprint(1,2,3,4) #1 #2 #3 #4
[๋ ๋ฒจ์
์ค์ต 1] ๋ฌธ์ ์ค๋ช
์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋๋ฌผ์ ์ข
๋ฅ์ ๋ฐ๋ผ ํด๋น ๋๋ฌผ์ ์๋ฆฌ๋ฅผ ์ถ๋ ฅํ๋ ํจ์๋ฅผ ์์ฑํ์ธ์. ์ด ํจ์๋ ๋งค๊ฐ๋ณ์๋ก ๋๋ฌผ์ ์ข
๋ฅ๋ฅผ ๋ฐ์์, ๊ฐ ๋๋ฌผ์ ๋ง๋ ์๋ฆฌ๋ฅผ ๋ฐํํฉ๋๋ค. ์ง์ํ๋ ๋๋ฌผ๊ณผ ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
๊ฐ: "๋ฉ๋ฉ"
๊ณ ์์ด: "์ผ์น"
์: "์๋ฉ"
์: "๋งค"
๋ญ: "๊ผฌ๋ผ์ค"
def animal_print(*args): animal = input("๊ฐ, ๊ณ ์์ด, ์, ์, ๋ญ ์ค์ ํ๋๋ฅผ ์
๋ ฅํด์ฃผ์ธ์") #print(args) if animal == "๊ฐ": print("๋ฉ๋ฉ") elif animal == "๊ณ ์์ด": print("์ผ์น") elif animal == "์": print("์๋ฉ") elif animal == "์": print ("๋งค") else: print("๊ผฌ๋ผ์ค") animal_print()
04-3 ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ
์ฐ๋ฆฌ๋ ์ด ์ฑ ์์ ์ด์ ๊น์ง ๊ฐ์ โ์ ๋ ฅโ๋ฐ์ ๋๋ ์ฌ์ฉ์๊ฐ ์ง์ ์ ๋ ฅํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๊ณ โ์ถ๋ ฅโํ ๋๋ ๋ชจ๋ํฐ ํ๋ฉด์ ๊ฒฐ๊ด๊ฐ์ ์ถ๋ ฅํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ ์ถ๋ ฅ ๋ฐฉ๋ฒ์ด โฆ
wikidocs.net