9월, 2023의 게시물 표시

[머신러닝] 로지스틱 회귀(logistic regression)

이미지
로지스틱 회귀(logistic regression) 로지스틱 회귀란? 로지스틱 회귀 는 이름은 회귀이지만 분류 모델 이다. 로지스틱 회귀는   선형 회귀 와 마찬가지로 선형 방정식 을 하지만 선형 회귀와 다르게 시그모이드 함수 나 소프트맥스 함수 를 사용하여 클래스 를 예측한다. 로지스틱 회귀로 이진 분류 할 때는 시그모이드 함수 를,  다중 분류 할 때는 소프트맥스 함수 를 사용한다. 데이터 준비 데이터를 준비해 보자. 아래 링크  csv 파일을 사용한다. https://bit.ly/fish_csv_data csv 파일 내용의 일부다. import pandas as pd # 데이터 가져오기 ------------------------------------------------------------------------- fish = pd.read_csv( 'https://bit.ly/fish_csv_data' ) # 입력 데이터 준비 fish_input = fish[[ 'Weight' , 'Length' , 'Diagonal' , 'Height' , 'Width' ]].to_numpy() print (fish_input) # 타깃 데이터 준비 fish_target = fish[ 'Species' ].to_numpy() print (fish_target) # 훈련 , 테스트 세트 나누기 from sklearn.model_selection import train_test_split train_input, test_input, train_target, test_target = train_test_split( fish_input, fish_target, random_state = 42 ) # 데이터 전처리 ( 표준화 ) from sklearn.preprocessing import StandardScaler s

[머신러닝] 규제(regulariztion)와 릿지 회귀(ridge), 라쏘 회귀(lasso)

이미지
규제(regulariztion)와 릿지(ridge), 라쏘(lasso) 규제란? 규제는 머신러닝 모델이 훈련 세트에 과대적합  되지 않도록 만드는 것이다. 즉, 모델이 훈련 세트를 과도하게 훈련하지 못하도록 훼방을 놓는 것이다. 과대적합(Over Fitting) 훈련세트 의 점수가 굉장히 좋은데,  테스트 세트 에서 점수가 심하게 나쁘다면  과대적합 (overfitting)되었다고 말한다. 과대적합 예제 과대적합 예제를 토대로 규제를 적용하는 방법에 알아보자. 1. 예제를 보면 PolynomialFeatures클래스의 dgree 속성을 5 를 설정하여 5제곱 까지 특성을 만들었다. 2. train_poly.shpae 로 배열의 크기를 확인하니 55개 의 속성이 만들어졌다. 3. 훈련 세트와 테스트 세트를 평가 해보니 점수가 엄청 차이 나는 과대적합 이 발생했다. 과대 적합 이 일어난 이유는 특성의 개수 가 너무 많기 때문이다. 특성 개수를 늘리면 모델은 거의 완벽하게 훈련이 가능하지만 너무 많으면 과대 적합 이 발생한다.  import pandas as pd # 특성 가져오기 df = pd.read_csv( 'https://bit.ly/perch_csv_data' ) perch_full = df.to_numpy() #print(perch_full) # 타깃 데이터 import numpy as np perch_weight = np.array([ 5.9 , 32.0 , 40.0 , 51.5 , 70.0 , 100.0 , 78.0 , 80.0 , 85.0 , 85.0 , 110.0 , 115.0 , 125.0 , 130.0 , 120.0 , 120.0 , 130.0 , 135.0 , 110.0 , 130.0 , 150.0 , 145.0 , 150.0 , 170.0 , 225.0 , 145.0 , 188.0 , 180.0 , 197.0 , 21

[Python] Pandas - csv 파일 읽고 쓰기

이미지
Pandas - csv 파일 읽고 쓰기 CSV 파일 읽기 Pandas 에서 CSV, Excel, HTML, SQL, JSON 등 다양한 파일의 데이터를 읽고 데이터 프레임을 만들 수 있다. 이 중 CSV 파일을 읽어오는 방법에 대해 알아보자. CSV란? csv는 필드를 쉼표(,)로 구분한 텍스트 파일이다. 즉, 쉼표로 구분되어 있는 데이터 형식을 csv 파일 형식 이라고 부르며 확장자 명이 .csv라고 되어있으면  csv 파일 이라고 한다. csv 파일 만들기  csv는 메모장, execl 등으로 만들 수 있다. 메모장으로 csv 파일 만들자. 우선 열을 담당할 1열,2열,3열 을 적고 아래에 데이터를 적어주면 된다. 주의)띄어쓰기 없이 해야 한다!! 확장자 .CSV로 저장!! csv 프로젝트 폴더에 넣기 당신이 파이썬이라면  test.csv를 프로젝트 폴더에 넣으면 된다. 나는 내 프로젝트 폴더에 넣었다. 당신이 만약 엑셀이 설치되어 있다면 메모장으로 적은 test.csv 파일이 엑셀로 자동변환 된다.( 엑셀로 test.csv를 열었을 때 ??? 가 떠도 오류가 아니니 괜찮다. ) csv 가져오기 read_csv로 읽어오면 된다. 이때 자동으로 데이터 프레임 구조로 바꿔준다. import pandas as pd df = pd.read_csv( 'test.csv' ) 데이터 프레임 출력 하기  출력 해보면 정상적으로 csv파일을 가져 온것을 확인 할 수 있다. 인덱스는 자동으로 시퀀스가 부여된다. print (df) <결과>    1열  2열  3열 0   1   2   3 1   4   5   6 2   7   8   9

[Python] 판다스 - 데이터 프레임 이란? (Pandas - DataFrame)

이미지
판다스 - 데이터 프레임 이란? (Pandas - DataFrame) Pandas 란? Pandas(판다스)는   데이터 조작 및 분석 이 가능한  파이썬의  라이브러리다. Pandas는 머신 러닝 , 딥 러닝 에서 데이터를 처리 할 때 필수로 사용된다. Pandas VS numpy 데이터를 처리 하는  파이썬  라이브러리 중 유명한 것이 Pandas , numpy 다. pandas는 numpy와 비슷하면서도 다르다. 아래는 pandas와 numpy의 차이점이다. 기능 / 특성 Pandas NumPy 데이터 구조 DataFrame, Series ndarray 데이터 유형 다양한 데이터 유형 (숫자, 문자열, 날짜 등) 지원 동일한 데이터 유형만 처리 (일반적으로 숫자) 데이터 정렬 및 라벨링 라벨링 가능한 축 (행 및 열에 이름 부여) 배열은 인덱스 또는 정수 인덱스로만 액세스 가능 데이터 조작 및 필터링 SQL과 유사한 데이터 조작 및 필터링 지원 배열 기반으로 데이터 조작 및 필터링 결측값 처리 결측값(NaN) 처리 및 대체 기능 지원 결측값 처리 및 대체 기능 없음 데이터 그룹화 및 집계 데이터 그룹화 및 집계 기능 지원 기본적인 집계 함수만 사용 가능 시계열 데이터 처리 효율적인 시계열 데이터 처리 지원 시계열 데이터 처리에 제한적 인덱싱 및 슬라이싱 다양한 인덱싱 및 슬라이싱 옵션 제공 기본적인 슬라이싱 및 인덱싱만 지원 데이터 입출력 다양한 데이터 형식을 읽고 쓸 수 있음 주로 배열을 파일로 저장하고 읽는 기능 성능 및 메모리 관리 일반적으로 느리고 메모리 소비가 높음 빠르고 메모리 효율적 주요 사용 사례 데이터 분석 및 조작, 데이터 전처리 과학 및 수학 계산, 배열 조작 정리 하면 pandas 는 데이터 조작 및 분석에 특화되어 있으며 테이블 형식의 데이터에 적합하며,  데이터 프레임,   시리즈, 패널 의 데이터 구조를 제공한다. numpy 는 과학 및 수학 계산에 특화되어 있으며 다차원 배열을