본문 바로가기

전체 글349

확률적경사하강법 □ 확률적경사하강법 □ 새로운 데이터가 추가될 때마다 새로운 모델을 생성/학습해야함 □ 기존의 모델과 모델 세팅등을 최대한 유지하면서 업데이트하는 최적화 방법. 알고리즘 모델은 아님. 즉, 훈련방법 또는 최적화 방법임 ○ 확률적경사하강법 : 훈련세트를 한번 모두 사용하는 과정 ○ 미니배치 경사하강법 : 여러개씩 꺼내기 ○ 배치경사 하강법 : 몽땅꺼내기 □ 에포크 : 훈련세트를 한번 모두 사용하는 과정 □ 손실함수는 0에 가까울수록 아주 큰음수가 되기 때문에 손실을 아주크게만들어 모델에 큰 영향을 끼침 □ 예제 ○ 데이터 호출 import pandas as pd fish = pd.read_csv("https://bit.ly/fish_data") fish.head() ○ 인풋, 타겟데이터 분리 #데이터전처리.. 2024. 3. 22.
Logistic_KNN □ K-최근접 이웃 알고리즘은 주변 이웃의 클래스 비율과 확률을 기반으로 대상을 분류함 □ 그렇다면 렄키백이 있다고 가정하고, 렄키백마다 타겟별 꺼내질 확률은 어떻게 알까? □ 타겟값이 2개인 이진분류일때는 시그모이드(로지스틱) 함수를 사용하고, 타겟값이 3개 이상인 소프트 맥스일 경우에는 소프트맥스함수를 사용하여, 인풋값의 이웃들에 대한 확률 기반으로 특정 값으로 분류되는 것을 확인할 수 잇음 □ 예제 ○ 데이터 호출 및 확인 #데이터 호출 및 확인 import pandas as pd fish = pd.read_csv("https://bit.ly/fish_csv_data") print(fish.head(2)) print("\n") #타겟값 중복값 제거하여 확인 print(pd.unique(fish["S.. 2024. 3. 22.
규제(L1, L2)와 Ridge, Lasso https://dandora-90.tistory.com/298 Multiple Regression(다중회귀) https://dandora-90.tistory.com/295 KNN_Regression&LinearRegression □ K 최근접 이웃 회귀(K-NN Regression) ○ K-최근접 이웃 회귀모델은 분류와 동일하게 가장먼저가까운 k개의 이웃을 찾음. ○ 그다음 이웃샘플의 dandora-90.tistory.com 위 글에 이어서.. 학습점수를 높이기위해 속성을 엄청나게 늘리고 학습을 했더니 과대적합이 발생하였음. 무엇이 문제일까? 킹받는다... 아마 행 수 보다 속성 수가 많아, 과대적합이 발생된 것으로 예상되어, 조치가 필요하다고 생각됨. 과대적합을 해결하기위해 규제가 필요하다고 판단했고 .. 2024. 3. 15.
Multiple Regression(다중회귀) https://dandora-90.tistory.com/295 KNN_Regression&LinearRegression □ K 최근접 이웃 회귀(K-NN Regression) ○ K-최근접 이웃 회귀모델은 분류와 동일하게 가장먼저가까운 k개의 이웃을 찾음. ○ 그다음 이웃샘플의 타깃값을 평균하여 샘플의 예측값으로 사용. ○ 사 dandora-90.tistory.com 위 글에서 농어의 길이로 무게 예측을 위해 Linear Regression(선형회귀)를 사용하여 트레이닝/테스트 점수가 올랐으나 약간의 과소적합 경향이 보였음. 이를 해결하기위해 Multiple Regression(다중회귀)를 사용하여 트레이닝/테스트 점수관련 과대/과소적합을 방지하고자함. 우선 다항회귀와 다중회귀의 차이를 알아보자. 다항회.. 2024. 3. 15.
Numpy dot/transpose □ .dot() : 행렬의 곱 A=np.array([[1,2,3],[4,5,6]]) B=np.array([[7,8],[9,10],[10,11]]) dot_pd = np.dot(A,B) print(A) print("\n") print(B) print("\n") print(dot_pd) □ .transpose() : 주어진 행렬의 행과 열을 바꾸는 것 A=np.array([[1,2,3],[4,5,6]]) B=np.array([[7,8],[9,10],[10,11]]) print(A) print("\n") transpose_A = np.transpose(A) print(transpose_A) print("\n") print(B) print("\n") transpose_B = np.transpose(B) prin.. 2024. 3. 14.
Numpy sort/argsort □ 기본적으로 오름차순 / 내림차순은 [::-1] □ np.sort(ndarray) : 인자로 들어온 행렬은 그대로 유지한 채 원 행렬의 정렬된 행렬 반환 □ ndarray.sort : 행렬 자체를 정렬한 형태로 변환하며 반환값은 None org_array = np.array([3,1,9,5]) print(org_array) print("\n") print("오름차순") sort_org_array = np.sort(org_array) print(sort_org_array) print("\n") print("내림차순") desc_sort_org_array = np.sort(org_array)[::-1] print(desc_sort_org_array) print("\n") org_array = np.arra.. 2024. 3. 14.
KNN_Regression&LinearRegression □ K 최근접 이웃 회귀(K-NN Regression) ○ K-최근접 이웃 회귀모델은 분류와 동일하게 가장먼저가까운 k개의 이웃을 찾음. ○ 그다음 이웃샘플의 타깃값을 평균하여 샘플의 예측값으로 사용. ○ 사이킷런은 회귀모델의 점수로 R^2 즉 결정계수 값을 반환. ○ 이 값은 1에 가까울수록 좋으며 정량적인 평가르 하고싶다면 사이킷런에서 제공하는 다른 평가 도구를 사용할 수 있음. □ 선형 회귀(LinearRegression) ○ 기본개념 : 평균(기대값)으로 돌아간다. ○ 즉, 평균값에 가까워지려는 경향을 의미하는게 회귀임. ○ 널리 사용되는 대표적인 회귀 알고리즘. ○ 선형이란 말에서 짐작할 수 있듯이 특성이 하나인 경우 어떤 직선을 학습하는 알고리즘. ○ 특성을 가장 잘 나타낼 수 있는 직선을 찾.. 2024. 3. 13.
K-Nearest Neighbor : K-NN 알고리즘 □ K-NN(K-Nearest Neighbor) 알고리즘 : k-최근접 이웃 알고리즘(또는 줄여서 k-NN)은 분류나 회귀에 사용되는 비모수 방식으로 두 경우 모두 입력이 특징 공간 내 k개의 가장 가까운 훈련 데이터로 구성 □ 분석내용 : 도미와 빙어의 길이, 무게 속성 데이터로 새로 들어오는(입력되는) 물고기의 종류를 분류해보자 ○라이브러리 # 라이브러리 import numpy as np import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier #K-NN알고리즘활용을위해 호출 ○데이터준비 #도미 데이터 준비 bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, .. 2024. 3. 12.
프로젝트 : 부산항만공사 서비스 제안관련 데이터분석-4 ㅁ 프로젝트 산출물 : https://busanportservice.streamlit.app/ Abstract Busan Port busanportservice.streamlit.app ㅁ선용품 관련 품목선정 중 주류 카테고리관련 데이터 크롤링에 대한 워드 크라우드 ○ 셀레니움 → 크롤링 활용 ○ 뷰티풀숲 → 크롤링 활용 ○ re → 전처리 활용 ○ wordcloud → 워드크라우드 활용 ○ stropwords → 불용어 사전 활용 ○ pandas → 전처리 활용 from selenium import webdriver #Selenium의 웹 드라이버를 사용하기 위한 모듈을 임포트 from selenium.webdriver.common.by import By #Selenium에서 사용하는 By 클래스를 임.. 2024. 3. 11.