본문 바로가기

전체 글307

로지스틱 회귀 - 선형 분리 가능한 데이터 : 직선으로 데이터의 카테고리를 그룹으로 나눌 수 있는 데이터 ▶ 로지스틱 회귀, logistic regression : 선형 분리 가능한 데이터의 경계선을 학습을 통해 찾고 데이터 분류하는 방법 - 경계선이 직선, 그래서 이항 분류에 주로 사용됨. 클래스로 분류될 확률을 계산하는 것이 가능 ▲ 책에는 69행도 적혀있는데 69행이 있으면 그래프를 덮어서 안나옴,,, (그래프가 2개 그려짐) ▷ 그래서 저게 뭔가 찾아봤음 ( 눈금 스케일 조정하는거던데..ㅎ) https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.set_aspect.html ▷ 별짓을 다해도 안나오길래 방법 2가지를 실행해봄 1. 69행 set_aspec.. 2023. 7. 18.
머신러닝 기초, 지도학습(분류) - 주로 3가지 분야로 나누어진다. 1. 지도하습 : 데이터를 예측하거나 분류를 수행 2. 비지도학습 : 축적된 데이터의 구조나 관계성을 찾아내는것 3. 강화학습 : 보수나 환경등을 설정하여 수익을 최대화하는 행동을 학습하는 방법 1-1. 회귀 : 기존 데이터에서 관계성을 바탕으로 데이터 예측, 주가나 시가와 같은 연속적인 값 예측 1-2. 분류 : 데이터 예측 실시. 예측되는 값은 데이터의 카테고리, 이산값. 8행 - X값의 첫번째 열 값, X값의 두번째 열 값 으로 그래프 그림. y를 출력해보면 이렇게 0과 1로 이항분류가 되어있음. - 모델 model : 머신러닝의 학습 방법 - 분류기 classifier : 머신러닝으로 데이터를 분류하는 프로그램 >> 모델을 직접 구현하는 것은 쉽지 않음. 그래서.. 2023. 7. 18.
datetime 값 추출하기 - 인덱스 / dt접근자 ▶ read_csv 메서드를 사용해서 parse_dates인자에 datetime 오브젝트로 변환하고자 하는 열의 이름을 전달하여 데이터를 불러옴. ▷ 문자열로 날짜를 담아서 datetime 오브젝트로 변환한것 그러고나면 .year, month, day 속성을 이용하면 년, 월, 일 정보를 따로 추출할 수 있음. - ebola 데이터 집합을 불러온 다음 Date 열을 datetime 오브젝트로 변환하여 새로운 열, date_dt를 추가 그리고 인덱스가 3인 데이터의 년, 월, 일 데이터를 추출 ▲만약 위같이 데이터를 추출해야한다면 인덱스로 불러야하니 귀찮,,, 불편,,,, ▼그래서 dt 접근자로 date_dt열에 한꺼번에 접근해서 year 속성을 이용해 연도값을 추출함 (그리고 새로운 열로 저장) ▶ 위 .. 2023. 7. 17.
날짜와 시간을 처리하는 datetime (1) / 시간형식지정자 - 날짜와 시간을 처리하는 등의 다양한 기능을 제공하는 파이썬 라이브러리 ▶ datetime의 now와 today 메서드를 사용하면 현재 시간을 출력할 수 있음. ▶ 오브젝트를 생성할 때 시간을 인자로 전달하면 직접 입력할 수 있음. 입력한 인자값으로 datetime 오브젝트가 생성됨 ▶ datetime오브젝트는 시간 계산을 할 수 있음. - 때에 따라 날짜/시계 이지만 문자열로 저장이 되어 있는 경우가 있음. ▶ 맨 위에 0행, column을 보면 Date이지만 object로 되어 있음. ▷ to_datetime 메서드를 사용하면 Date 타입으로 바꿀 수 있음. 그래서 바꿔서 새로운 열로 추가해봄 ▶ 시간 형식 지정자, %d, %m, %y와 기호 / 또는 - 를 조합하여 format 인자에 전달하면 .. 2023. 7. 17.
머신러닝의 기본적인 흐름 및 평가 지표 함수 머신러닝은 훈련데이터/테스트 데이터를 준비한 후 머신러닝 알고리즘을 훈련 데이터로 학습시키고 학습된 머신러닝 알고리즘의 성능을 테스트 데이터로 검증하는 흐름을 가지고 있음. 81행, svm.SVC > SVM(Support Vector Machine)은 데이터 분석 중 분류에 해당되며 지도학습 방식의 모델임. sklearn을 통해서 구현 가능함. 자세히 여기 ▼ 자세한 내용은 추후에 공부해서 추가하기 https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html 85행, predict(알고싶은 데이터) : 예측해서 머신러닝 학습 결과를 알 수 있음. > 그렇게 86행에서 예측한 학습결과의 정확률 accuarcy_score 메서드를 이용해서 파.. 2023. 7. 17.
혼동행렬 / 성능평가지표 - 각테스트 데이터에 대한 모델의 예측 결과를 4가지 관점에서 분류 > 참 양성,TP(True Positive) : 양성 클래스로 예측되었고 결과도 양성 클래스인 개수 > 참 음성,TN(True Negative) : 음성 클래스로 예측되었고 결과도 음성 클래스인 개수 > 거짓 양성, FP(False Positive) : 양성 클래스로 예측했지만 결과는 음성 클래스인 개수 > 거짓 음성, FN(False Negative) : 음성 클래스로 예측했지만 결과는 양성 클래스인 개수 y_true = 정답데이터의 실제 클래스 y_pred = 예상된 클래스 ▶ confusion_matrix(정답데이터의 실제클래스, 예상되는 클래스) 로 혼동행렬의 값을 구함. - 성능이 우수한지 평가하기 위한 명확한 기준, 혼동행렬의.. 2023. 7. 17.
학습/테스트데이터 - 홀드아웃, k-분할 교차검증, 과적합, 앙상블학습 - 가장 일반적으로 주로 사용하는 방법 - 주어진 데이터셋에서 훈련데이터/테스트데이터 2가지로 분할하는 방법 - 주로 20%를 테스트 데이터로 만들어서 진행하고 있음. - train_test_split(X,y, test_size = __ , random_state = 0) > X = 데이터셋의 정답 라벨에 대응하는 특징이 배열로 되어 있는 데이터 > y = 데이터셋의 정답 라벨이 배열로 되어 있는 데이터 > test_size = 0에서 1사이의 수치로 지정. 테스트 데이터로 선택하고 싶은 비율 > random_state > 랜덤 seed같은거,,! 안해주면 정밀도도 매번 달라짐. - 비복원 추출 (한 번 추출한 데이터는 제자리에 되돌리지 않는 추출법) - 훈련데이터셋을 k개로 분할하고 k-1개의 데이터는.. 2023. 7. 17.
아두이노 디스플레이 출력 - FND(7-Segment)/ 도트매트릭스 >> 내꺼는 여기서 불나옴 a를 high로 해야 Gnd로 전류가 흘러서 불이 나올 수 있음. 만약 Anode라면 pinMode(A, LOW)하고 5V로(출력)해야함 5V 전류가 흘러야 불이 나옴. 그래야 A2번을 LOW로 해야 전류가 흐를수있기때문에 4행 LedControl name = LedControl(int DIN, int CLK, int CS, int Device); > 연결된 DIN, CLK, CS의 숫자를 입력하고 (연결되어 있는 숫자 입력) Device에 연결되어있는 매트릭스 개수를 입력한다. 7행 shutdown (int addr, boolean state); > 절전 모드를 제어하는 함수 addr = 연결된 매트릭스 주소, trun면 절전모드로 들어가 off, false면 절전모드 해제 .. 2023. 7. 17.
pandas 데이터 필터링 filter 메서드 => 데이터 필터링 ▶ tips 데이터 집합을 불러와 크기를 확인하고 size 열의 데이터 수를 확인해보면 1,5,6테이블의 주문이 매우 적다는 것을 확인할 수 있다. >>> 그래서 제외하기로 결정 땅땅따아 ▶ 그래서 30번 이상의 주문이 있는 테이블만 추려서 데이터 분석을 하기 위해 filter() 메서드와 lambda를 활용해 제외한다. >>> 그러고나면 1,5,6 데이터가 제외된것을 확인할 수 있따. 2023. 7. 14.