mds2.py

来自「orange源码 数据挖掘技术」· Python 代码 · 共 30 行

PY
30
字号
import orange, orngMDS, math

data=orange.ExampleTable("../datasets/iris.tab")
euclidean = orange.ExamplesDistanceConstructor_Euclidean(data)
distance = orange.SymMatrix(len(data))
for i in range(len(data)):
   for j in range(i+1):
       distance[i, j] = euclidean(data[i], data[j])

mds=orngMDS.MDS(distance)
mds.run(100)

from pylab import *
colors = ["red", "yellow", "blue"]

points = []
for (i,d) in enumerate(data):
   points.append((mds.points[i][0], mds.points[i][1], d.getclass()))
for c in range(len(data.domain.classVar.values)):
    sel = filter(lambda x: x[-1]==c, points)
    x = [s[0] for s in sel]
    y = [s[1] for s in sel]
    scatter(x, y, c=colors[c])
show()

try:
    from pylab import *
except ImportError:
    print "Can't import pylab (matplotlib)"

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?