Пример #1
0
def test_KNN(*data):
    X_train, X_test, y_train, y_test = data
    knn = KNeighborsClassifier()
    knn.fit(X_train, y_train)
    y_sample = knn.predict(X_test)
    # print('KNN分类器')
    ACC = clustering_performance.clusteringMetrics(y_test, y_sample)
    print('KNN: %.4f' % ACC)
    return ACC
Пример #2
0
def test_SVM(*data):
    X_train, X_test, y_train, y_test = data
    clf = svm.SVC(C=2,
                  kernel='sigmoid',
                  gamma=10,
                  decision_function_shape='ovr')
    clf.fit(X_train, y_train)
    y_predict_svm = clf.predict(X_test)
    print(
        'SVM:', '%.4f' %
        clustering_performance.clusteringMetrics(y_test, y_predict_svm))
    return clf.score(X_test, y_test)
Пример #3
0
from sklearn.metrics import accuracy_score, normalized_mutual_info_score, adjusted_rand_score
import PIL.Image as Image
from sklearn.cluster import KMeans
from clustering_performance import clusteringMetrics
import random
import matplotlib.pyplot as plt
import numpy as np
import os
IMAGES_PATH_DIR = os.getcwd() + r"\face_images\\"
IMAGES_FORMAT = ['.jpg', '.py']
IMAGE_SIZE = (200, 180)
IMAGE_ROW = 10
IMAGE_COLUMN = 20
IMAGE_SAVE_PATH = 'Image_cluster_.jpg'

def loadData(FileName):
    im = Image.open(FileName)
    im = im.convert('RGB')
    return im

data_show = plt.figure(1)
plt.title("The picture")
image_names = []
image_vector = []
real_label = sorted([_ for _ in range(0, 10)] * 20)
to_image = Image.new('RGB',
                     (IMAGE_SIZE[1] * IMAGE_COLUMN, IMAGE_SIZE[0] * IMAGE_ROW))
image_dir_names = [
    name for name in os.listdir(IMAGES_PATH_DIR)
    if os.path.splitext(name)[1] not in IMAGES_FORMAT
Пример #4
0
tst_size = 0.2
X_train, X_test, y_train, y_test = train_test_split(X,
                                                    Y,
                                                    test_size=tst_size,
                                                    random_state=22)
# print("X_train.shape =", X_train.shape)
# print("X_test.shape =", X_test.shape)
print("load data finish at", time.time() - strat_time, "s")
print("test size:", tst_size * 100, "%", "train size:", (1 - tst_size) * 100,
      "%")
# 朴素贝叶斯
clf = GaussianNB()
clf.fit(X_train, y_train)
print("finish Bayes fit at", time.time() - strat_time, "s")
y_sample_bayes = clf.predict(X_test)
Bayes_ACC = clusteringMetrics(y_test, y_sample_bayes)
print("Bayes Accuracy =", Bayes_ACC, "at", time.time() - strat_time, "s")

fig = plt.figure()
plt.subplot(121)
plt.title('Bayes heatmap')
confusion = confusion_matrix(y_sample_bayes, y_test)
confusion = confusion / X_test.shape[0]
# print(confusion)
sns.heatmap(confusion, annot=True, cmap='Blues', fmt='.3g')
plt.xlabel('Predicted label')
plt.ylabel('True label')

# KNN
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
Пример #5
0
from sklearn.metrics import accuracy_score, normalized_mutual_info_score, adjusted_rand_score
import PIL.Image as Image
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
from clustering_performance import clusteringMetrics
import random
import matplotlib.pyplot as plt
import numpy as np
import os
from clustering_performance import clusteringMetrics
IMAGES_PATH_DIR = os.getcwd() + r"\face_images\\"
IMAGES_FORMAT = ['.jpg', '.py']
IMAGE_SIZE = (200, 180)
IMAGE_ROW = 10
IMAGE_COLUMN = 20

def loadData(FileName):
    im = Image.open(FileName)
    im = im.convert('RGB')
    return im

data_show = plt.figure(1)
image_names = []
image_vector = []
real_label = sorted([_ for _ in range(0, 10)] * 20)
to_image = Image.new('RGB',
                     (IMAGE_SIZE[1] * IMAGE_COLUMN, IMAGE_SIZE[0] * IMAGE_ROW))
image_dir_names = [
    name for name in os.listdir(IMAGES_PATH_DIR)
    if os.path.splitext(name)[1] not in IMAGES_FORMAT
Пример #6
0
X_train, y_train = make_circles(n_samples=400, factor=0.5, noise=0.1)
X_test, y_test = make_circles(n_samples=400, factor=0.5, noise=0.1)

# 原图
plt.subplot(331)
plt.title('Circle')
plt.scatter(X_train[:, 0], X_train[:, 1], marker='o', c=y_train)

# KNN
plt.subplot(332)
plt.title('KNN')
knn = KNeighborsClassifier(n_neighbors=30)
knn.fit(X_train, y_train)
y_predict_knn = knn.predict(X_test)
print('KNN: %.3f' %
      clustering_performance.clusteringMetrics(y_test, y_predict_knn))

plt.scatter(X_test[:, 0], X_test[:, 1], marker='o', c=y_predict_knn)

# NaiveBayes
plt.subplot(333)
plt.title('NaiveBayes')

bayes = naive_bayes.GaussianNB()
bayes.fit(X_train, y_train)
y_predict_bayes = bayes.predict(X_test)
print('NaiveBayes: %.3f' %
      clustering_performance.clusteringMetrics(y_test, y_predict_bayes))

plt.scatter(X_test[:, 0], X_test[:, 1], marker='o', c=y_predict_bayes)