반응형 프로그래밍/AI 머신러닝,LLM11 결정트리,군집화,차원축소 ●결정트리(Decision Tree)데이터를 분류하거나 예측하는데 사용되는 머신러닝 알고리즘입니다. 스무고개 게임처럼 질문을 던지면서 데이터를 분류하는 방식입니다.장점은 사람이 해석하기 쉬운 모델이고 데이터 전처리가 적게 필요하고 중요한 특징을 자동으로 선택해줍니다.단점은 과적합 위험이 있고 작은 변화에도 트리가 크게 변할 수 있습니다.●군집화비지도 학습(unsupervised learning) 기법 중 하나로, 라벨(정답)이 없는 데이터에서 비슷한 특성을 가진 데이터끼리 그룹으로 묶는 방법입니다.예를 들어, 고객 데이터를 분석할 때 비슷한 소비 패턴을 가진 고객들을 그룹화하여 고객 세분화에 활용할 수 있습니다.대표적인 군집화 알고리즘으로는 K-Means 클러스트링이 있습니다.ex)군집화 활용사례- 고객.. 2025. 4. 12. 파이썬 numpy, pandas ●numpy, pandasNumPy와 Pandas는 파이썬 데이터 분석에 사요오디는 라이브러리입니다.NumPy는 행렬 계산, Pandas는 엑셀 같은 데이터 분석에 많이 쓰입니다.●numpyNumPy는 수학 연산과 배열(벡터, 행렬) 연산에 최적화된 라이브러리입니다.import numpy as np# 1차원 배열arr1 = np.array([1, 2, 3, 4, 5])print(arr1)# 2차원 배열 (행렬)arr2 = np.array([[1, 2, 3], [4, 5, 6]])print(arr2)a = np.array([1, 2, 3])b = np.array([4, 5, 6])print(a + b) # 배열 덧셈print(a * b) # 배열 곱셈print(np.dot(a, b)) # 내적 (1*.. 2025. 4. 7. 파이썬 머신러닝 사이킷런에서 reshape() 사용이유 import numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegression# 샘플 데이터 (공부 시간: X, 시험 점수: y)X = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]).reshape(-1, 1)y = np.array([50, 55, 65, 70, 72, 78, 85, 87, 95])# 선형 회귀 모델 학습model = LinearRegression()model.fit(X, y)# 예측X_test = np.array([10]).reshape(-1, 1)y_pred = model.predict(X_test)print(f"공부 10시간 했을 때 예상 점수: {y_pred[0]:.. 2025. 4. 2. 파이썬 머신러닝 train_test_split() ●train_test_split()머신러닝에서 데이터를 훈련 데이터와 테스트 데이터로 나누는 데 사용되는 함수입니다. 이를 통해 모델을 훈련할 때 훈련 데이터를 사용하고, 모델을 평가할 때는 테스트 데이터를 사용하여 과적합을 방지하고 모델의 일반화 능력을 평가할 수 있습니다.train_test_split 함수는 데이터를 랜덤하게 나누어 주는데, 이는 데이터가 특정 순서나 패턴에 의해 나누어지지 않도록 보장하여 모델의 평가 결과가 더 신뢰할 수 있게 만듭니다.ex)train_test_split(X, y, test_size=0.25, train_size=None, random_state=None, shuffle=True, stratify=None)X: 독립 변수들 (특성들, 입력 데이터). y: 종속 변수 .. 2025. 3. 29. 머신러닝 회귀(regression) 개념 ● 회귀(regression)- 회귀라는 말은 사전적으로는 '한바퀴 돌아 본래의 자리로 돌아온다' 라는 뜻인데, 머신러닝의 회귀 개념과는 맞지 않습니다.- 머신러닝에서의 회귀는 쉽게 설명하면 x,y 관계를 분석해서 패턴을 찾는다는 의미로, 주어진 데이터 이후에도 같은 패턴이 반복 될것이라고 예상하고 모델을 만드는 것입니다.- 데이터를 반복적으로 관찰하면 어떤 패턴이 있고, 회귀 모델은 이를 수학적으로 표현하여 예측을 가능하게 하는것입니다.- 주식가격예측, 아파트 가격 예측 등 연속적인 숫자값을 예측하는 머신러닝 기법입니다.● 머신러닝 지도학습- 머신러닝 지도학습에서는 크게 '회귀'와 '분류' 2가지가 있습니다.- 회귀는 연속된 값을 예측할때 주로 사용하고 분류는 이산적 값을 예측할때 주로 사용합니다. ●.. 2025. 3. 29. 머신러닝 기초, 모델, 데이터셋, 사이킷런 ●머신러닝- 머신러닝은 규칙을 하나하나 코딩하지 않아도 데이터에서 자동으로 패턴을 학습하는 것입니다.- 머신러닝은 아래의 과정을 반복하여 개선하는 것입니다. ->데이터 수집 → 전처리 → 모델링 → 평가 → 최적화 → 배포 → 유지보수- 모델을 학습시키고, 학습시킨 모델을 restAPI 화하여 서비스하는 것이 머신러닝의 핵심입니다. ●'모델을 학습하다' 뜻- AI가 데이터에서 패턴을 배우는 과정이라고 생각하면 됩니다.- 쉽게 비유하면 데이터(교과서)를 모델(학생)이 학습(공부) 하고 예측(시험)을 해서 손실(틀린개수)을 보고 최적화(공부법 개선)를 통해 개선한다고 보면 됩니다. ●사이킷런(scikt-learn)- 대표적인 머신러닝 라이브러리입니다.- 머신러닝 개념이 사이킷런 라이브러리에 녹아져 있기 .. 2025. 3. 25. 주피터 노트북 개념, 사용이유 ● 주피터 노트북(Jupyter Notebook)- 코드 작성, 시각화 및 문서 작성이 가능한 대화형 환경을 제공하는 도구입니다.- 여기서 '노트북'은 공책을 뜻합니다. (외국에서는 휴대용 노트북을 랩탑이라고 부릅니다)●주피터 노트북 사용이유- 일반적인 프로그래밍은 소스를 작성하고, 실행한 후 결과를 확인한 다음, 다시 코드를 수정하고 실행하는 형태로 진행되지만, 주피터 노트북은 코드와 결과를 하나의 인터랙티브한 환경에서 바로바로 확인하며 작성할 수 있습니다.- 모델링 작업 등 실험적 작업을 하거나 중간 결과를 확인하고 싶을 때 유용합니다.- 또한 소스코드 뿐 아니라 문서, 이미지을 포함하여 작업을 기록할 수 있어서 연구,개발에 유용합니다.- 주피터 노트북은 실제 서비스용 도구가 아닌, 연구와 실험을 할.. 2025. 3. 23. 파이썬 가상환경 사용이유, 사용법 ●파이썬 가상환경- 프로젝트마다 독립적인 파이썬 환경을 만들 수 있게 해주는 도구- 프로젝트마다 필요한 패키지와 버전을 격리하여 관리해서 다른 프로젝트와 충돌 없이 실행가능●파이썬 가상환경 설정python3 -m venv myenv- myenv 라는 가상환경을 생성합니다. ●가상환경 활성화(리눅스)source myenv/bin/activate- 가상환경이 있는 디렉터리에서 위 명령어로 가상환경 활성화- 가상환경이 활성화되면 프롬프트에 가상환경 이름이 보임- 보통 가상환경 안에서 pip로 패키지를 설치함 ●가상환경 비활성화deactivate- 시스템 기본환경으로 빠져나감 ● requirements.txt 파일프로젝트의 의존성을 관리하기 위해 requirements.txt파일을 사용합니다.이 파일에는 프로젝.. 2025. 3. 18. 리눅스 머신러닝 개발환경 세팅 ●머신러닝을 공부하려면 파이썬, 텐서플로, numpy, pandas, matplotlib, seaborn, scikit-learn, 주피터 등을 설치해야합니다.하나씩 설치해도 되고, 아나콘다라는 오픈소스를 이용하면 쉽게 설치가 가능합니다.저는 aws redhat 리눅스 환경에서 하나씩 설치했습니다.단순 공부용으로 사용하려면 굳이 돈주고 aws사용할 필요도 없고, 로컬pc에 설치할 필요도 없고, 구글코랩(colab)을 사용하면 바로 공부시작할 수 있습니다. ●aws redhat 리눅스에서 머신러닝 개발환경 세팅1.redhat 리눅스용 필수 패키지 설치sudo yum groupinstall -y "Development Tools"sudo → 관리자(root) 권한으로 실행yum → 패키지 관리 도구group.. 2025. 3. 15. 파이썬 문법 간단 정리 AI관련 라이브러리는 거의 파이썬 기반으로 개발되고 있습니다.그래서 파이썬 문법을 알아야합니다.타 개발 언어와 다른 파이썬만의 특징만 몇가지 정리해보았습니다.●파이썬 주석- 한줄 주석 : # 사용-여러줄 주석 : ''' or """ 사용ex)예시#한줄주석print("hello")'''여러줄주석입니다'''print("workd") ●변수 데이터 타입- 파이썬에서는 변수 데이터타입을 별도로 지정하지 않습니다ex)예시x = 1 # 정수 (int)y = 1.1 # 실수 (float)name = "park" # 문자열 (string)isSelect = True # 불리언 (boolean) ●블록지정- 자바에서는 {}로 블록을 구분했다면, 파이썬에서는 : 와 들여쓰기로 구분합니다.. 2025. 3. 12. 머신러닝, 딥러닝, LLM, MLOps, LLMOps 개념 ●머신러닝(ML)- 데이터에서 패턴을 학습하는 알고리즘을 사용하여 자동으로 규칙을 발견하고 예측- 이미지, 음성, 텍스트, 숫자 데이터 등 다양한 데이터 분석- 분류, 예측, 이상 탐지 등 다양한 문제 해결에 활용- 사람이 특징(feature)을 정의하여 모델이 학습하도록 설계 ●딥러닝- 머신러닝의 한 종류로 신경망(Neural Network)를 활용하여 패턴을 추출하고 학습하는 방식- 신경망이 특징을 자동 추출- 대량의 데이터와 고성능 GPU필요●LLM(대형언어모델)- 머신러닝의 한 분야인 딥러닝(Deep Learning) 을 기반으로 하는 모델- 주로 텍스트 데이터 기반의 자연어 처리에 특화- 텍스트 생성, 요약, 번역, 질문 응답 등에 활용- ex)GPT-4, Gemini, Claude, Llama.. 2025. 3. 9. 이전 1 다음 반응형