Python 데이터 분석
-
Python 데이터분석 기초 70 - K-NN (K-Nearest Neighber)Python 데이터 분석 2022. 11. 25. 10:23
breast_cancer dataset # KNN from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier import matplotlib.pyplot as plt cancer = load_breast_cancer() x_train, x_test, y_train, y_test = train_test_split(cancer.data, cancer.target, stratify = cancer.target, random_state = 66) print(x_train.shape, x_test.sha..
-
Python 데이터분석 기초 69 - K-NN (K-Nearest Neighber)Python 데이터 분석 2022. 11. 25. 10:05
• 장점 : 알고리즘이 간단해 구현이 쉽다. 수치 기반 데이터 분류 작업에서 성능이 좋다. • 단점 : 학습 데이터의 양이 많으면 분류 속도가 느려진다. 차원(벡터)의 크기가 크면 계산량이 많아진다. 아웃라이어의 영향을 많이 받는다. 단위의 차이가 크면 성능이 낮다. 과적합이 발생활 확률이 높다. K-NN은 스케일링을 추천한다. KNN : K최근접 이웃 알고리즘 레이블이 있는 데이터를 사용하여 분류 작업을 하는 알고리즘이다. 데이터로부터 거리가 가까운 k개의 다른 데이터의 레이블을 참조하여 분류한다. 대개의 경우에 유클리디안 거리 계산법을 사용하여 거리를 측정하는데, 벡터의 크기가 커지면 계산이 복잡해진다. # KNN : K최근접 이웃 알고리즘 # 레이블이 있는 데이터를 사용하여 분류 작업을 하는 알고리..
-
NaiveBayes 분류모델 - GaussanNB 예제Python 데이터 분석 2022. 11. 24. 18:14
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.naive_bayes import GaussianNB from sklearn.metrics import accuracy_score from sklearn import metrics from sklearn.preprocessing import LabelEncoder from xgboost import plot_importance import matplotlib.pyplot as plt import xgboost as xgb df = pd.read_csv('../testdata/mushrooms.csv') print(df.head(3)) print(df.i..
-
날씨 정보로 나이브에즈 분류기 작성 - 비 예보Python 데이터 분석 2022. 11. 24. 18:10
날씨 정보로 나이브에즈 분류기 작성 - 비 예보 # 날씨 정보로 나이브에즈 분류기 작성 - 비 예보 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.naive_bayes import GaussianNB from sklearn.metrics import accuracy_score from sklearn import metrics df = pd.read_csv('../testdata/weather.csv') print(df.head(3)) print(df.info()) x = df[['MinTemp', 'MaxTemp', 'Rainfall']] # y = df['RainTomorrow'].apply(la..
-
Python 데이터분석 기초 69 - NaiveBayes 분류모델Python 데이터 분석 2022. 11. 24. 15:17
나이브 베이즈는 분류기를 만들 수 있는 간단한 기술로써 단일 알고리즘을 통한 훈련이 아닌 일반적인 원칙에 근거한 여러 알고리즘들을 이용하여 훈련된다. 모든 나이브 베이즈 분류기는 공통적으로 모든 특성 값은 서로 독립임을 가정한다. 예를 들어, 특정 과일을 사과로 분류 가능하게 하는 특성들 (둥글다, 빨갛다, 지름 10cm)은 나이브 베이즈 분류기에서 특성들 사이에서 발생할 수 있는 연관성이 없음을 가정하고 각각의 특성들이 특정 과일이 사과일 확률에 독립적으로 기여 하는 것으로 간주한다. 조건부 확률 P(Label|Feature)사후확률 = P(Feature|Label)가능도 * P(Label) / P(Feature) # 나이브 베이즈는 분류기를 만들 수 있는 간단한 기술로써 단일 알고리즘을 통한 훈련이 ..
-
Python 데이터분석 기초 68 - SVM으로 이미지 분류Python 데이터 분석 2022. 11. 24. 13:16
SVM으로 이미지를 분석하였다. 세계 정치인 중 일부 사진을 사용 주성분 분석으로 이미지 차원 축소, train / test split, 시각화를 실시 # SVM으로 이미지 분류 # 세계 정치인 중 일부 사진을 사용 from sklearn.svm import SVC from sklearn.decomposition import PCA import matplotlib.pyplot as plt from sklearn.datasets import fetch_lfw_people from sklearn.pipeline import make_pipeline faces = fetch_lfw_people(min_faces_per_person = 60, color = False) # color는 True가 컬러, Fals..
-
Python 데이터분석 기초 67 - 특성공학 기법 중 차원축소(PCA - 주성분 분석)-iris datasetPython 데이터 분석 2022. 11. 24. 11:17
특성공학 기법 중 차원축소(PCA - 주성분 분석) n개의 관측치와 p개의 변수로 구성된 데이터를 상관관계가 최소화된 k개의 변수로 축소된 데이터를 만든다. 데이터의 분산을 최대한 보존하는 새로운 축을 찾고 그 축에 데이터를 사영시키는 기법. 직교. 목적 : 독립변수(x, feature)의 갯수를 줄임. 이미지 차원 축소로 용량을 최소화 # 특성공학 기법 중 차원축소(PCA - 주성분 분석) # n개의 관측치와 p개의 변수로 구성된 데이터를 상관관계가 최소화된 k개의 변수로 축소된 데이터를 만든다. # 데이터의 분산을 최대한 보존하는 새로운 축을 찾고 그 축에 데이터를 사영시키는 기법. 직교. # 목적 : 독립변수(x, feature)의 갯수를 줄임. 이미지 차원 축소로 용량을 최소화 # iris dat..
-
Support Vector Machine(SVM) 예제 - 심장병 환자 데이터Python 데이터 분석 2022. 11. 23. 18:33
# [SVM 분류 문제] 심장병 환자 데이터를 사용하여 분류 정확도 분석 연습 # https://www.kaggle.com/zhaoyingzhu/heartcsv # https://github.com/pykwon/python/tree/master/testdata_utf8 Heartcsv # # Heart 데이터는 흉부외과 환자 303명을 관찰한 데이터다. # 각 환자의 나이, 성별, 검진 정보 컬럼 13개와 마지막 AHD 칼럼에 각 환자들이 심장병이 있는지 여부가 기록되어 있다. # dataset에 대해 학습을 위한 train과 test로 구분하고 분류 모델을 만들어, 모델 객체를 호출할 경우 정확한 확률을 확인하시오. # 임의의 값을 넣어 분류 결과를 확인하시오. # 정확도가 예상보다 적게 나올 수 있음..