본문 바로가기

Python90

Decision Tree 의사결정 트리 - 개념 데이터가 이렇게 존재 한다고 할때 빨강과 초록을 지정하려고 하려면 어떻게 해야할까    세로축인 X2가 60보다작은지 큰지 로 쪼갠뒤 크다면 가로축인 X1이 50보다 작은지 큰지 로 쪼개 작다면 초록색으로 좌측상단의 초록색 그룹을 지정하고    다음은 X2가 60보다 작은 선택지에서의X1이 70보다 큰지 작은지로 쪼갠뒤 큰쪽에서  X2가 큰지 작은지로 다시 쪼갠뒤X2가 큰쪽을 초록색으로 그룹지어준다  이런식으로 예 아니오 라는 질문을 통해 나무가지처럼 뻗어 나가는 형식을 통해 각각의 답을 찾아나아가는 방식이 의사결정 트리 이다  고로, 여러 가지 질문의 여러가지 yes,no 같은 답을 찾을수 있는 방법이다      역시 다른 방법들과 마찬가지로 데이터 전 처리 부분은 동일하며 사이킷런의 .tree 모듈을.. 2024. 4. 15.
Support Vector Machine - 개념 어떤 선을 기준으로 나눠야 할까      가장 근접하고 있는 데이터를 기준으로 같은 길이를 갖는 직교 하는 선으로 하자  그렇다면 서포트 벡터 머신은 다른 알고리즘과 비교해서 어떤 점이 특별할까     사과와 오렌지를 감별하는 알고리즘이라고 할 때일반적인, 정상적인 사과와 오렌지 같은 경우경계하는 선에서 멀리에 있을것이다 즉, 이게 사과인가? 이게 오렌지인가? 싶은 애매하게 생긴 것들이클래시파이어 근처에 있게 되며 이를 판단하는데에 SVM이 최고라고 판단된다 from sklearn.svm import SVC SVM을 사용하기 위해 sklearn의svm 모듈을 사용하여SVC를 임포트한다SVC는 클래시파이어고SVR은 리그레션이다  이후는 다른 것과 비슷하다  classfier = SVC()classfier... 2024. 4. 15.
K - Nearest Neighbor - 개념 좌측의 그림처럼 그룹된 데이터들이 존재할때우측의 그림처럼 새로운 데이터가 저 위치에 나타났을때 어떤 그룹으로 가는게 맞을까 일단 KNN이 무슨 뜻인가 K 는 상수 즉 몇개인지 숫자를 의미한다Nearest Neighbors 는 가장 가까이 이웃한것을 의미한다  그러므로 가장 가까이에 이웃한 그룹이 어느쪽에 있는지가 관건이다    K 라는 상수를 5라고 지정하면 가장 가까이에 근접한 5개의 데이터를 찾아더 많이 가까운 데이터쪽으로 합쳐지는것을 뜻한다물론 짝수라면 2:2, 3:3, 4:4등 결과가 안나올수 있으니 무조건 홀수로 한다     from sklearn.neighbors import KNeighborsClassifierclassifier = KNeighborsClassifier(n_neighbors .. 2024. 4. 15.
Logistic Regression - 개념 Linear Regression 에서는각종 데이터들 사이에서어떤 값이 나올지 예측 하는거였다면  Logistic Regression은 조금 다르다로지스틱리그레션은은 답이 0과 1 뿐이며 0일지 1일지 확률을 따지는것 뿐이다    평균값에 가까워지기 위해 변형된것인데기존의 리니어 리그레션 에서 조금 달라지는 모습이 필요하다    비슷한 함수의 이름은 sigmoid function이 시그모이드를 대입하여 일차방정식으로 만드는 것이다 그리하여    0 과 1뿐인 선택지의 확률을 알 수 있게 된다( p 는 확률)     물론 0.5를 기준으로 나뉘어 지게 되지만 0.1, 0.8 같은 값은 충분히 납득이 갈 수치다   from sklearn.linear_model import LogisticRegressioncl.. 2024. 4. 15.
Regression 4) 인공지능 저장 및 사용 2024.04.13 - [MachineLearning] - Regression 3) New 데이터의 예측값은?   앞서 만든 것들을 실제로 사용하려면 2개의 파일이 필요하다바로regressor, ct 인데하나는 예측하는 것이었고하나는 데이터를 입력할때 문자열(지역)을 변환시켜주는 것이었다 그래서 활용을 하려면 저장을 하여 실 서버에 올려야 한다      import joblib 저장을 하기위해선 미리 임포트를 해야 한다   joblib.dump( regressor, 'regressor.pkl' ) ['regressor.pkl'] joblib.dump( ct,'ct.pkl' ).. 2024. 4. 13.
Regression 3) New 데이터의 예측값은? 2024.04.13 - [MachineLearning] - Regression 2) Error, MSE, RMSE   새로운 데이터가 들어왔을때의 예측값 데이터의 내용은 다르지만앞부분은 넘어가고 본편으로 넘어가겠다  「 운영비는 15만 달러, 마케팅비용 40만 달러, 연구개발비 13만 달러 ,회사위치는 florida 에 있다면 예상 수익은?」 이 데이터의 콜럼 순서는연구개발비, 운영비, 마케팅비용, 회사위치였지만 원 핫 인코딩으로 인해 회사지역 맨 앞으로 오게되며회사지역 또한 ['California', 'Florida', 'New York'] 로 0, 1 , 0 이 되고 그렇기에 이렇게 입력이 되게 된다    new_data = np.array([.. 2024. 4. 13.