t-SNE(t-distributed stochastic neighbor embedding)は次元圧縮アルゴリズム
import numpy as np
from sklearn import datasets
from sklearn import manifold
import matplotlib.pylab as plt
def main():
boston = datasets.load_boston()
"""
boston = datasets.load_boston()
・概要
米国ボストン市郊外における地域別の住宅価格のデータセット。
・データセットの詳細
レコード数 506
カラム数 14
主な用途 回帰 (Regression)
データセットの詳細 UCI Machine Learning Repository: Housing Data Set
・各カラムの構成
CRIM 人口 1 人当たりの犯罪発生数
ZN 25,000 平方フィート以上の住居区画の占める割合
INDUS 小売業以外の商業が占める面積の割合
CHAS チャールズ川によるダミー変数 (1: 川の周辺, 0: それ以外)
NOX NOx の濃度
RM 住居の平均部屋数
AGE 1940 年より前に建てられた物件の割合
DIS 5 つのボストン市の雇用施設からの距離 (重み付け済)
RAD 環状高速道路へのアクセスしやすさ
TAX $10,000 ドルあたりの不動産税率の総計
PTRATIO 町毎の児童と教師の比率
B 町毎の黒人 (Bk) の比率を次の式で表したもの。 1000(Bk – 0.63)^2
LSTAT 給与の低い職業に従事する人口の割合 (%)
"""
perp_list = range(5,60,5)
for i, val in enumerate(perp_list):
print "({0}), perplexity = {1}".format(i, val)
model = manifold.TSNE(perplexity = val, init = "pca")
tsne_result = model.fit_transform(boston.data)
plt.subplot(3, 4, i + 1)
plt.title("Perplexity = {0}".format(val))
plt.plot(tsne_result[:,0], tsne_result[:,1], ".")
plt.grid()
plt.show()
if __name__ == '__main__':
main()
PR
COMMENT