본문 바로가기

머신러닝/알고리즘

(16)
타이타닉 생존자 예측 - KNN 알고리즘 실습 from sklearn.neighbors import KNeighborsClassifier clf = KNeighborsClassifier() clf.fit(X_train, y_train) print('점수는 '+ str(tree.score(X_train, y_train))) y_pred = tree.predict(X_test) print('정확도는', accuracy_score(y_test, y_pred)*100) print('윈슬렛') if clf.predict([winslet])[0] == 0: print('사망','--->', max(clf.predict_proba([winslet])[0])) else: print('생존','--->', max(clf.predict_proba([winslet])[..
make_blobs make_blobs 모든 방향으로 같은 성질을 가지는 정규분포를 이용해 가상 데이터 생성 클러스링 용 가상데이터를 생성하는데 사용 make_blobs 함수의 인수, 반환값 1. 인수 - n_samples, n_features, centers, cluster_std, center_box - n_samples : 표본 데이터 수, 기본값 100 - n_features : 독립 변수 수, 기본값 20 - centers : 클러스터 수 혹은 중심, 기본값 3 - cluster_std: 클러스터 표준 편차, 기본값 1.0 - center_box: 클러스터 바운딩 박스(bounding box), 기본값 (-10.0, 10.0)) 2. 반환값 - X : [n_samples, n_features] 크기의 배열 - y ..
5-3. Apriori (연관규칙) Apriori 알고리즘 연관 규칙을 중 가장 먼저 개발 높은 빈도를 가지는 조합을 찾아내는 목적 장바구니 분석 지지도 (Support) : 아이템 A,B 모두 구매하는 비율 신뢰도 (Confidence) : 아이템(A)을 구매한 경우, 아이템(B)를 얼마나 구매할 것인지 향상도 (Lift) : B만 구매할 때보다, A를 구매한 사람이 B를 구매할 확률이 마나 더 높은지
5-2-1. k-means 실습 # Authors: Robert Layton # Olivier Grisel # Mathieu Blondel # # License: BSD 3 clause print(__doc__) import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.metrics import pairwise_distances_argmin from sklearn.datasets import load_sample_image from sklearn.utils import shuffle from time import time n_colors = 64 # Load the Summer Palace photo china = l..
5-2. k-means (k-평균 알고리즘) k-평균 알고리즘(K-means algorithm) 주어진 데이터를 k개의 클러스터로 묶는 알고리즘 비지도 학습 (자율 학습) 알고리즘 실행 과정 1) 초기 k "평균값" (위의 경우 k=3) 은 데이터 오브젝트 중에서 무작위로 뽑힌다. (색칠된 동그라미로 표시됨) 2) k 각 데이터 오브젝트들은 가장 가까이 있는 평균값을 기준으로 묶인다. 평균값을 기준으로 분할된 영역은 보로노이 다이어그램 으로 표시된다 3) k개의 클러스터의 중심점을 기준으로 평균값이 재조정된다 4) 수렴할 때까지 2), 3) 과정을 반복한다 동작 과정 k 가 작을 때 k가 클 때 참조 : ko.wikipedia.org/wiki/K-%ED%8F%89%EA%B7%A0_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 k..
5-1-1. SVM 실습 print(__doc__) import numpy as np import matplotlib.pyplot as plt from sklearn import svm from sklearn.datasets import make_blobs # we create 40 separable points X, y = make_blobs(n_samples=40, centers=2, random_state=6) # fit the model, don't regularize for illustration purposes clf = svm.SVC(kernel='linear', C=1000) clf.fit(X, y) plt.scatter(X[:, 0], X[:, 1], c=y, s=30, cmap=plt.cm.Paired) # p..
5-1. SVM (Support Vector Machine) 서포트 벡터 머신(support vector machine) 지도학습 패턴 인식, 자료 분석 목적 마진 최대화 마진 : 서포트 벡터를 지나가는 직선과의 거리 비선형 SVM Kernel
4-1-2. 타이타닉 생존자 예측 - 의사결정나무 정확도 import matplotlib.pyplot as plt training_accuracy = [] test_accuracy = [] # 1 에서 30 까지 depth_settings 를 적용 depth_settings = range(1, 31) for depth in depth_settings: # 모델 생성 tree = DecisionTreeClassifier(max_depth=depth, random_state=3) tree.fit(X_train, y_train) # 훈련 세트 정확도 저장 training_accuracy.append(tree.score(X_train, y_train)) # 테스트 정확도 저장 test_accuracy.append(tree.score(X_test, y_test)) pl..
4-1-1. 타이타닉 생존자 예측 - 의사결정나무 타아타닉 생존자 예측을 의사결정나무 알고리즘으로 수행한다
4-1. 타이타닉 생존자 예측 학습 데이터 준비 # 데이터프레임을 이용하기 위하여 판다스 패키지를 임포트한다 import pandas as pd df_train = pd.read_excel('/content/drive/My Drive/Colab Notebooks/data/titanic.xls') from google.colab import drive drive.mount('/content/drive') # 나이 컬럼 값이 널인경우 전체 나이의 평균으로 할당한다 df_train['age'] = df_train['age'].fillna(df_train['age'].mean()) df_train.drop(['cabin'], axis='columns', inplace=True) df_train.drop(['embarked'], axis='columns', i..
2-1-2. Decision Tree 실습 2 사이킷런에서 제공하는 의사결정나무 코드를 실습한다. print(__doc__) import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier, plot_tree # Parameters n_classes = 3 plot_colors = "ryb" plot_step = 0.02 # Load data iris = load_iris() for pairidx, pair in enumerate([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]]): # We only take the two corre..
2-1-1. Decision Tree 실습 1 사이킷런에서 제공하는 의사결정나무 코드를 실습한다. from sklearn import tree X = [[0, 0], [1, 1]] Y = [0, 1] clf = tree.DecisionTreeClassifier() clf = clf.fit(X, Y) clf.predict([[2., 2.]]) clf.predict_proba([[2., 2.]]) from sklearn.datasets import load_iris from sklearn import tree X, y = load_iris(return_X_y=True) clf = tree.DecisionTreeClassifier() clf = clf.fit(X, y) tree.plot_tree(clf) import graphviz dot_data = t..