5-1 결정 트리
PYTHON/데이터분석2023. 9. 15. 17:215-1 결정 트리

#로지스틱 회귀로 와인 분류하기캔에 인쇄된 알콜 도수, 당도, PH 값으로 와인종류를 구별할 수 있는 방법이 있을까? 6497개의 와인 샘플 데이터가 있다.import pandas as pdwine = pd.read_csv('https://bit.ly/wine_csv_data')처음 5개 샘플 확인wine.head()class는 타깃값으로 0이면 레드, 1이면 화이트와인레드와인과 화이트와인을 구분하는 이진분류 문제다.화이트와인이 양성클래스이다. 즉 전체 와인 데이터에서 화이트 와인을 골라내는 문제다.  info()로 데이터프레임의 각 열의 데이터 타입과 누락된 데이터 있는지 확인 describe()로 열에 대한 간략한 통계 출력차례로 평균, 표준편차, 최소, 1,2,3사분위수(데이터를 순서대로 4등분),..

4-2 확률적 경사 하강법
PYTHON/데이터분석2023. 9. 15. 17:214-2 확률적 경사 하강법

#확률적 경사 하강법 앞서 훈련한 모델을 버리지 않고 새로운 데이터에 대해서만 조금씩 더 훈련하기 전체 샘플을 사용하지 않고 딱 하나의 샘플을 훈련세트에서 랜덤하게 골라 가장 가파른 길을 찾아 최적의 장소로 이동 에포크 훈련세트를 한번씩 모두 사용해서 만족할 위치에 도달할때까지 내려간다. 미니배치 경사 하강법 무작의로 몇개의 샘플을 선택해서 경사 내려가기 배치경사 하강법 전체샘플 사용 -> 자원을 많이 사용하게 된다. #손실 함수 가장 빠른 길을 찾아내려가려고 하는 산 어떤 문제에서 머신러닝 알고리즘이 얼마나 엉터리인지 측정하는 기준 -> 값이 작을수록 좋음 -> 어떤 값이 최솟값인지 모름 -> 많이 찾아보고 만족할만한 수준이면 다 내려왔다고 인정해야한다. = 확률적 경사하강법이 잘 맞는다. #SGDCl..

4-1 로지스틱 회귀
PYTHON/데이터분석2023. 9. 15. 17:214-1 로지스틱 회귀

#럭키백의 확률럭키백~!도미일 확률 70% ,빙어일 확률 30%머신러닝으로 럭키백의 생선이 어떤 타깃에 속하는지 확률을 구할 수 있을까? 럭키백에 들어갈 수 있는 생선은 7개이다.길이,높이,두께,대각선 길이와 무게를 사용해 7개 생선에 대한 확률을 출력해야 한다. KNN 분류기로 클래스(럭키백에 들어간 생선)의 확률을 계산  #데이터 준비하기import pandas as pdfish = pd.read_csv('https://bit.ly/fish_csv_data')fish.head() #처음 5개만 출력 어떤 종류의 생선이 있는지 Species열에서 고유한 값 추출하기 -> unipue() 사용print(pd.unique(fish['Species']))#['Bream' 'Roach' 'Whitefish' ..

3-3 특성 공학과 규제
PYTHON/데이터분석2023. 9. 15. 17:203-3 특성 공학과 규제

다항 회귀로 농어의 무게를 어느정도 예측할 수 있지만여전히 훈련세트 점수 전에는 길이라는 1개의 특성을 사용해 선형회귀 모델을 훈련시켰다. 여러개의 특성을 사용한 선형회귀를 다중회귀라고 한다.1개의 특성을 사용했을때 선형회귀 모델이 학습하는 것은 직선이다.2개의 특성은 평면을 학습한다.3개의 특성은 각 특성을 서로 곱해서 새로운 특성을 만들어 낸다. (농어 길이 * 농어 높이)기존의 특성을 사용해 새로운 특성을 뽑아내는 작업을 특성공학이라고 한다.사이킷런에서는 도구를 제공한다.   #데이터 준비농어의 특성이 3개로 늘어났기 때문에..복잡하다.인터넷에서 데이터를 바로 다운로드하여 사용하자. -> 넘파이 불가, 판다스만 가능 판다스유명한 데이터 분석 라이브러리, 데이터프레임은 판다스의 핵심 데이터 구조로 넘..

3-2 선형회귀
PYTHON/데이터분석2023. 9. 15. 17:203-2 선형회귀

#KNN의 한계 데이터와 모델 준비 import numpy as np perch_length = np.array( [8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 18.7, 19.0, 19.6, 20.0, 21.0, 21.0, 21.0, 21.3, 22.0, 22.0, 22.0, 22.0, 22.0, 22.5, 22.5, 22.7, 23.0, 23.5, 24.0, 24.0, 24.6, 25.0, 25.6, 26.5, 27.3, 27.5, 27.5, 27.5, 28.0, 28.7, 30.0, 32.8, 34.5, 35.0, 36.5, 36.0, 37.0, 37.0, 39.0, 39.0, 39.0, 40.0, 40.0, 40.0, 40.0, 42.0, 43.0, 43.0, 43.5, 44.0..

3-1 KNN 회귀
PYTHON/데이터분석2023. 9. 15. 17:203-1 KNN 회귀

도미와 빙어를 구분하는 머신러닝 모델을 성공적으로 개발 한 후 새로운 문제 등장.......농어를 무게 단위로 판매할 것이다.  농의의 길이,높이,두께를 측정한 데이터로 예측할 것 -> 농어의 무게를 정확하게 측정한 샘플이 필요하다.  #KNN회귀지도 학습 알고리즘 - 회귀 : 분류x , 임의로 어떤 숫자 예측하여 임이의 수치를 출력 - 분류 : 샘플을 몇 개의 클래스 중 하나로 분류 KNN알고리즘1. 예측하려는 샘플에 가장 가까운 샘플 K개를 선택2. 샘플들의 클래스를 확인하여 다수 클래스를 새로운 샘플의 클래스로 예측   #데이터 준비import numpy as np농어의 길이만 있어도 무게를 잘 예측할 수 있다고 생각했다.길이 : 특성무게 : 타깃 perch_length = np.array( ..

2-2 데이터 전처리
PYTHON/데이터분석2023. 9. 15. 17:192-2 데이터 전처리

#넘파이로 데이터 준비하기 생선데이터 fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0, 9.8, 10.5, 10.6, 11.0, 11.2, 11.3, 11.8, 11.8, 12.0, 12.2, 12.4, 13.0, 14.3, 15.0] fish_weight = [242.0, 290.0, 340.0, 363.0, 430.0, 450.0, 500.0, 390.0..

2-1 훈련세트와 테스트 세트
PYTHON/데이터분석2023. 9. 15. 17:192-1 훈련세트와 테스트 세트

1-3 처럼...도미 35마리와 빙어 14마리를 모두 저장하고 맞추는 거라면 100%달성하는게 당연하지 않나요?어떤것이 도미이고 빙어인지 알고 있는데 맞추지 못하는것이 이상하잖아..다시..생각해보자~!~!~!^^  #지도학습, 비지도학습머신러닝 알고리즘은 지도학습과 비지도 학습으로 나뉜다. 지도 학습 알고리즘훈련하기 위한 데이터와 정답이 필요,타깃(정답)이 있으니 알고리즘이 정답 맞히는 것을 학습한다. -> 도미인지..빙어인지... KNN알고리즘도 여기에 해당                     [훈련데이터] =입력+타깃     [입력(데이터)]                     [타깃(정답)]      [[25.4 ,242.0]]                            [1]         ..

1-3 마켓과 머신러닝
PYTHON/데이터분석2023. 9. 15. 17:191-3 마켓과 머신러닝

생선이름을 자동으로 알려주는 머신러닝 만들기->머신러닝은 스스로 기준을 찾아서 30~40CM인 길이의 생선은 도미라고 정의한다.->어떻게 이런 기준을 찾니..? 여러개의 도미생선을 보면서 스스로 구분할 기준을 찾는다  혼공머신은 35마리의 도미를 준비했다. #도미데이터 생선의 길이,무게 [ ] 안의 것들을 특성(데이터의 특징)이라 부른다.bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0..

통계 데이터 분석 -KNN회귀
PYTHON/데이터분석2023. 9. 15. 17:16통계 데이터 분석 -KNN회귀

K-최근접이웃(K-nearest neighbor, KNN) 회귀 : 임의의 어떤 '숫자'를 예측하는 문제즉 KNN회귀는 주변의 가장 가까운 K개의 샘플을 통해 값을 예측하는 방식이다. from sklearn.datasets import load_iris #iris 데이터셋 불러왔다iris_data = load_iris() #불러온 데이터 셋 iris_data라는 변수에 저장iris_data #출력 """데이터셋 로드... 'data_module': 'sklearn.datasets.data', 'feature_names': ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'], 'filename': 'ir..

통계 데이터 분석 -확률
PYTHON/데이터분석2023. 9. 15. 17:16통계 데이터 분석 -확률

import enum, randomclass Coin(enum.Enum): FRONT = 0 #앞면 BACK = 1 #뒷면 def random_coin(): #랜덤 return random.choice([Coin.FRONT, Coin.BACK]) #------------------------------------------------------------ for _ in range(20): #20번 if Coin.random_coin() == Coin.FRONT: print(".", end=' ') #앞쪽이면 .출력 else: print("1", end=' ') #뒤면 1 """ . 1 1 . 1 . . . 1 . 1 . 1 1 1 . 1 ...

통계 데이터 분석 -선형회귀
PYTHON/데이터분석2023. 9. 15. 17:15통계 데이터 분석 -선형회귀

#참고자료 https://hleecaster.com/ml-linear-regression-concept/ 선형회귀(Linear Regression) 쉽게 이해하기 - 아무튼 워라밸본 포스팅에서는 머신러닝에서 사용할 선형 회귀 분석에 대한 개념 설명을 누구나 이해할 수 있을 정도의 수준으로 가볍게 소개한다. (머리 나쁜 나도 이해한 수준까지만 설명할 거니까 대부분hleecaster.com  https://wikidocs.net/21670 03) 선형 회귀(Linear Regression)딥 러닝을 이해하기 위해서는 선형 회귀(Linear Regression)와 로지스틱 회귀(Logsitic Regression)를 이해할 필요가 있습니다. 이번 챕터에서는 머 ...wikidocs.net  선형회귀import..

image