본문 바로가기

파이썬111

Decision Tree(결정트리 알고리즘) □ 로지스틱회귀란 LinearRegression에서 발전된 모델로 분류에 사용되는 모델임. □ 이진분류인가 또는 다중분류인가에 따라 시그모이드 함수와 소프트맥스 함수를 적용하여 분류된 타겟에대한 확률을 출력함. □ 예제 ○ 데이터 호출 #라이브러리 및 데이터호출 import pandas as pd wine = pd.read_csv("https://bit.ly/wine_csv_data") wine.head() ○ 데이터 EDA #데이터 EDA print(wine.info()) print(wine.describe()) ○ 인풋/타겟 데이터 분리 #데이터 분리 : 인풋, 타겟 data = wine[["alcohol", "sugar", "pH"]].to_numpy() #셋 배열로변환 target = wine[".. 2024. 3. 22.
확률적경사하강법 □ 확률적경사하강법 □ 새로운 데이터가 추가될 때마다 새로운 모델을 생성/학습해야함 □ 기존의 모델과 모델 세팅등을 최대한 유지하면서 업데이트하는 최적화 방법. 알고리즘 모델은 아님. 즉, 훈련방법 또는 최적화 방법임 ○ 확률적경사하강법 : 훈련세트를 한번 모두 사용하는 과정 ○ 미니배치 경사하강법 : 여러개씩 꺼내기 ○ 배치경사 하강법 : 몽땅꺼내기 □ 에포크 : 훈련세트를 한번 모두 사용하는 과정 □ 손실함수는 0에 가까울수록 아주 큰음수가 되기 때문에 손실을 아주크게만들어 모델에 큰 영향을 끼침 □ 예제 ○ 데이터 호출 import pandas as pd fish = pd.read_csv("https://bit.ly/fish_data") fish.head() ○ 인풋, 타겟데이터 분리 #데이터전처리.. 2024. 3. 22.
프로젝트 : 부산항만공사 서비스 제안관련 데이터분석-1 ㅁ 프로젝트 산출물 : https://busanportservice.streamlit.app/ Abstract Busan Port busanportservice.streamlit.app ㅁ항구별 체류시간관련 분석을 위한 데이터 크롤링 ○ 셀레니움 → 크롤링 활용 ○ 뷰티풀숲 → 크롤링 활용 ○ re → 전처리 활용 ○ pandas → 전처리 활용 from selenium import webdriver #Selenium의 웹 드라이버를 사용하기 위한 모듈을 임포트 from selenium.webdriver.common.by import By #Selenium에서 사용하는 By 클래스를 임포트합. 웹 요소를 검색하는데 사용. from selenium.webdriver.common.keys import Key.. 2024. 3. 11.
Chat_gpt API 연동방법 □ https://openai.com/product 접속 □ API>Overview 클릭 ※ 계정이없다면 계정생성 후 로그인할 것 □ API>Overview 클릭 □ 기본적으로 처음 계정생성 후 로그인하면 3개월간 이용할수 있는 $5 가량의 크레딧을 준다고함. 따라서 로그인 후 아래 이미지와 같이 참고하여 잔여크레딧 확인. (작성자의 경우에는 3개월 뒤 크레딧이 소멸되어 $5 충전함) → 최소 충전금액 $5이며, 충전금액만큼 API를 활용할 수 있음 □ API 키 발급 □ API연동관련 코딩 및 ChatGpt 기능구현 #라이브러리 from openai import OpenAI #API키 입력 client = OpenAI( api_key="개인발급키" ) #대화가 끊기지 않도록 while True 사용 w.. 2024. 3. 10.
Numpy 배열연산1 □ 사칙연산 arr1 = np.array([[1,2,3,4,5],[6,7,8,9,10]]) arr2 = np.array([[2,2,2,2,2],[2,2,2,2,2]]) print(f"2차원배열 arr1 : {arr1}") print('\n') print(f"2차원배열 arr2 : {arr2}") print('\n') print(f"arr1+arr2 : {arr1+arr2}") print(f"arr1+arr2 : {np.add(arr1,arr2)}") print('\n') print(f"arr1-arr2 : {arr1-arr2}") print(f"arr1-arr2 : {np.subtract(arr1,arr2)}") print('\n') print(f"arr1*arr2 : {arr1*arr2}") print.. 2024. 3. 9.
Numpy 차원 * 배열 원소개수 확인 : 배열명.size * 배열 행과열 확인 : 배열명.shape * 배열 차원 확인 : 배열명.ndim * axis=0 행방향 * axis=1 열방향 □ 1차원 배열(axis = 0) : Vector = array # 배열 one_array_1 = np.array([1,2,3,4,5]) print(f"배열확인 : {one_array_1}") print(f"배열타입 : {type(one_array_1)}") print(f"배열행과열 : {one_array_1.shape}") print(f"배열차원 : {one_array_1.ndim}") #차원확인 print(f"배열원소개수 : {one_array_1.size}") #원소개수 확인 print('\n') one_array_2 = np.a.. 2024. 3. 6.
Numpy Intro □ “Numerical Python” 의 약자로 대규모 다차원 배열과 □ 행렬 연산에 필요한 다양한 함수 제공 □ NumPy는 Pandas, Scikit-learn, Tensorflow등 데이터 사이언스 분야에서 사용되는 라이브러리들의 토대가 되는 라이브러리 □ 기본적으로 array 라는 단위로 데이터 관리하며, 행렬이라는 개념으로 생각하면 됨 ○ 배열(array) : 컴퓨터에서 일반적으로 사용하는 개념으로 수를 포함한 어떤 데이터의 묶음을 의미. ○ 벡터(vector) : 1차원으로 묶은 수를 수학에서 벡터(vector)라 부르며 행만 구성된 것을 행백터, 열만으로 구성된 것을 열벡터라 부름 ○ 행렬(matrix) : 2차원으로 묶은 수를 수학에서 행렬(matrix)이라 부르고, 우리가 알고있는 수많은.. 2024. 3. 6.
Selenium : 기본 옵션세팅 □ 라이브러리 from selenium.webdriver.chrome.options import Options □ 옵션지정시 ma_option = Options() □ 옵션지정 시 ma_option.add_experimental_option("excludeSwitches", ["enable-automation"]) #드라이버 시작시 불필요문구 미표시되도록 설정 ma_option.add_experimental_option("excludeSwitches", ["enable-logging"]) #터미널상의 불필요문구 미표시되도록 설정 ma_option.add_argument("--headless") #드라이버창 안열리게 설정 ma_option.add_argument(f"user-agent={ma_agent}".. 2024. 2. 18.
Datetime & pd.to_datetime □ Dataetime ○ 호출 라이브러리 from datetime import datetime ○ KST kst_time = datetime.now() ○ UTC utc_time = datetime.now() ○ 시간별도지정 sample = datetime(1990,1,1) ○ 시간연산 kst_time = datetime.now() # kst시간 sample = datetime(1990,1,1) # 시간지정 result = kst_time - sample print(result) ○ 시간 표시형식 #YYYY-mm-dd 추출 nowDate1 = kst_time.strftime('%Y-%m-%d') #YY-mm-dd 추출 nowDate2 = kst_time.strftime('%y-%m-%d') #YYYY-m.. 2024. 2. 16.