def test_transform_with_cosine_distance(self): points = np.array([[2.5, 3.5], [2, 8], [3, 1], [3, 18], [-2.5, -3.5], [-2, -8], [-3, -1], [-3, -18]]) true_centers = [ normalize(np.mean(normalize(points)[4:, :], axis=0, keepdims=True))[0], normalize(np.mean(normalize(points)[0:4, :], axis=0, keepdims=True))[0] ] kmeans = KMeans(2, initial_clusters=kmeans_ops.RANDOM_INIT, distance_metric=kmeans_ops.COSINE_DISTANCE, use_mini_batch=self.use_mini_batch, config=self.config(3)) kmeans.fit(x=points, steps=30, batch_size=8) centers = normalize(kmeans.clusters()) self.assertAllClose(np.sort(centers, axis=0), np.sort(true_centers, axis=0), atol=1e-2) true_transform = 1 - cosine_similarity(points, centers) transform = kmeans.transform(points, batch_size=8) self.assertAllClose(transform, true_transform, atol=1e-3)
def test_transform_with_cosine_distance(self): points = np.array( [[2.5, 0.1], [2, 0.2], [3, 0.1], [4, 0.2], [0.1, 2.5], [0.2, 2], [0.1, 3], [0.2, 4]], dtype=np.float32) true_centers = [normalize(np.mean(normalize(points)[4:, :], axis=0, keepdims=True))[0], normalize(np.mean(normalize(points)[0:4, :], axis=0, keepdims=True))[0]] kmeans = KMeans(2, initial_clusters=kmeans_ops.RANDOM_INIT, distance_metric=kmeans_ops.COSINE_DISTANCE, use_mini_batch=self.use_mini_batch, config=self.config(5)) kmeans.fit(x=points, steps=50, batch_size=8) centers = normalize(kmeans.clusters()) self.assertAllClose(np.sort(centers, axis=0), np.sort(true_centers, axis=0), atol=1e-2) true_transform = 1 - cosine_similarity(points, centers) transform = kmeans.transform(points, batch_size=8) self.assertAllClose(transform, true_transform, atol=1e-3)
def test_transform_with_cosine_distance(self): points = np.array([[2.5, 3.5], [2, 8], [3, 1], [3, 18], [-2.5, -3.5], [-2, -8], [-3, -1], [-3, -18]]) true_centers = [normalize(np.mean(normalize(points)[4:, :], axis=0, keepdims=True))[0], normalize(np.mean(normalize(points)[0:4, :], axis=0, keepdims=True))[0]] kmeans = KMeans(2, initial_clusters=kmeans_ops.RANDOM_INIT, distance_metric=kmeans_ops.COSINE_DISTANCE, use_mini_batch=self.use_mini_batch, batch_size=8, continue_training=True, config=run_config.RunConfig(tf_random_seed=3)) kmeans.fit(x=points, steps=30) centers = normalize(kmeans.clusters()) self.assertAllClose(np.sort(centers, axis=0), np.sort(true_centers, axis=0), atol=1e-2) true_transform = 1 - cosine_similarity(points, centers) transform = kmeans.transform(points) self.assertAllClose(transform, true_transform, atol=1e-3)
from tensorflow.contrib.factorization.python.ops import kmeans as kmeans_ops from tensorflow.contrib.factorization.python.ops.kmeans import \ KMeansClustering as KMeans kmeans = KMeans(num_centers=num_centers, initial_clusters = kmeans_ops.RANDOM_INIT, use_mini_batch=False, config=RunConfig(tf_random_seed=14), random_seed=12) kmeans.fit(x=points,steps=10,batch_size=8) clusters = kmeans.clusters() kmeans.predict(points,batch_size=128) kmeans.score(points,batch_size=128) kmeans.transform(points,batch_size=128) #################################### #支持向量机 def input_fn(): return{ 'example_id':tf.constant(['1','2','3']), 'feature1':tf.constant([[0.0],[1.0],[3.0]]), 'feature2':tf.constant([[1.0],[-1.2],[1.0]]), },tf.constant([1],[0],[1]) feature1 = tf.contrib.layers.real_valued_column('feature1') feature2 = tf.contrib.layers.real_valued_column('feature2') svm_classifier = tf.contrib.learn.SVM(feature_columns=[feature1,feature2],