# 使用腾讯云 GPU 学习深度学习系列之一：传统机器学习的回顾

## 1. 机器学习的评价方法

Sepal Length

Sepal Width

Petal Length

Petal Width

Species

5.1

3.5

1.4

0.2

0

4.9

3.0

1.4

0.2

0

4.7

3.2

1.3

0.2

0

7.0

3.2

4.7

1.4

1

6.4

3.2

4.5

1.5

1

6.9

3.1

4.9

1.5

1

6.5

3.0

5.2

2.0

2

6.2

3.4

5.4

2.3

2

5.9

3.0

5.1

1.8

2

### 1.1 使用数据可视化、降维、聚类等非监督方法，探索数据特征

import matplotlib.pyplot as plt
from sklearn import datasets
import seaborn as sns

%matplotlib inline

X = data.data
color = data.target
sns.set_style("white")

# compatibility matplotlib < 1.0
sns.pairplot(df, hue="species")[/amalthea_sample_code]

import matplotlib.pyplot as plt
from sklearn import datasets
import seaborn as sns

%matplotlib inline

X = data.data
color = data.target
sns.set_style("white")

from sklearn import decomposition
from sklearn import manifold
from matplotlib.ticker import NullFormatter
from time import time

n_components = 2
n_neighbors = 10
X = data.data
color = data.target

fig = plt.figure(figsize=(15, 4))

t0 = time()
Y = manifold.Isomap(n_neighbors, n_components).fit_transform(X)
t1 = time()
print("Isomap: %.2g sec" % (t1 - t0))
plt.scatter(Y[:, 0], Y[:, 1], c=color, cmap=plt.cm.Set1)
plt.title("Isomap (%.2g sec)" % (t1 - t0))
ax.xaxis.set_major_formatter(NullFormatter())
ax.yaxis.set_major_formatter(NullFormatter())
plt.axis('tight')

t0 = time()
mds = manifold.MDS(n_components, max_iter=100, n_init=1)
Y = mds.fit_transform(X)
t1 = time()
print("MDS: %.2g sec" % (t1 - t0))
plt.scatter(Y[:, 0], Y[:, 1], c=color, cmap=plt.cm.Set1)
plt.title("MDS (%.2g sec)" % (t1 - t0))
ax.xaxis.set_major_formatter(NullFormatter())
ax.yaxis.set_major_formatter(NullFormatter())
plt.axis('tight')

t0 = time()
se = manifold.SpectralEmbedding(n_components=n_components,
n_neighbors=n_neighbors)
Y = se.fit_transform(X)
t1 = time()
print("SpectralEmbedding: %.2g sec" % (t1 - t0))
plt.scatter(Y[:, 0], Y[:, 1], c=color, cmap=plt.cm.Set1)
plt.title("SpectralEmbedding (%.2g sec)" % (t1 - t0))
ax.xaxis.set_major_formatter(NullFormatter())
ax.yaxis.set_major_formatter(NullFormatter())
plt.axis('tight')

t0 = time()
pca = decomposition.PCA(n_components=n_components)
pca.fit(X)
Y = pca.transform(X)

t1 = time()
print("PCA: %.2g sec" % (t1 - t0))
plt.scatter(Y[:, 0], Y[:, 1], c=color, cmap=plt.cm.Set1)
plt.title("PCA (%.2g sec)" % (t1 - t0))
ax.xaxis.set_major_formatter(NullFormatter())
ax.yaxis.set_major_formatter(NullFormatter())
plt.axis('tight')

t0 = time()
tsne = manifold.TSNE(n_components=n_components, init='pca', random_state=0, perplexity=40)
Y = tsne.fit_transform(X)
t1 = time()
print("t-SNE: %.2g sec" % (t1 - t0))
plt.scatter(Y[:, 0], Y[:, 1], c=color, cmap=plt.cm.Set1)
plt.title("t-SNE (%.2g sec)" % (t1 - t0))
ax.xaxis.set_major_formatter(NullFormatter())
ax.yaxis.set_major_formatter(NullFormatter())
plt.axis('tight')

plt.show()

### 1.2 基于特征的监督模型预测

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import os
import urllib

import tensorflow as tf
import numpy as np

IRIS_TRAINING = "iris_training.csv"
IRIS_TEST = "iris_test.csv"

# 下载数据
for infile in [IRIS_TRAINING, IRIS_TEST]:
if not os.path.exists(infile):
with open(infile,'w') as f:
f.write(raw)

filename=IRIS_TRAINING,
target_dtype=np.int,
features_dtype=np.float32)

filename=IRIS_TEST,
target_dtype=np.int,
features_dtype=np.float32)

# 使用花萼花瓣的长宽作为输入特征
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=4)]

# 建立一个三层的神经网络，每层分别包含 10个、 20个、 10个隐藏单元。
classifier = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
hidden_units=[10, 20, 10],
n_classes=3,
model_dir="/tmp/iris_model")

# 训练数据转化成 Tensorflow 格式
def get_train_inputs():
x = tf.constant(training_set.data)
y = tf.constant(training_set.target)
return x, y

# 训练模型
classifier.fit(input_fn=get_train_inputs, steps=2000)

# 测试数据转换成 Tensorflow 格式
def get_test_inputs():
x = tf.constant(test_set.data)
y = tf.constant(test_set.target)

return x, y

# 评价准确率
accuracy_score = classifier.evaluate(input_fn=get_test_inputs,
steps=1)["accuracy"]

print("\nTest Accuracy: {0:f}\n".format(accuracy_score))

## 2. 提高深度学习模型预测的准确性

0 条评论

• ### 使用腾讯云 GPU 学习深度学习系列之五：文字的识别与定位

本系列文章主要介绍如何使用腾讯云GPU服务器进行深度学习运算，前面主要介绍原理部分，后期则以实践为主。

• ### 使用腾讯云 GPU 学习深度学习系列之六：物体的识别与定位

本文以如何识别马路上的行人、车辆为主题，介绍了基于 Tensorflow 的 SSD 模型如何应用在物体识别定位项目中。

• ### 使用腾讯云 GPU 学习深度学习系列之二：Tensorflow 简明原理

本文介绍了如何通过简单的 Python 代码，重点实现深度学习框架的计算图模型，以及自动求导过程。

• ### Serverless实践系列（九）：“灰常”简单的车牌识别 API 制作

本文的真正目的，其实并非要做一个完善的车牌识别工具，而是想要通过一些简单的 package 组合（包括深度学习框架等），实现一个简单的对外接口，用它来进行车牌...

• ### Python打造文件MD5值计算器

关于MD5算法可查阅有关资料。代码可用于文件完整性检查，哪怕修改一点点内容，也会得到相差非常大的MD5值。 import sys import hashlib ...

• ### 了解人工智能背后的科学

有很多技术概念让我们能够真正理解AI，但最重要要记住的是，AI是关于构建智能计算机程序来执行如下任务：