- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
习题4
一简答题
1.聚类是一种无监督的学习算法,就是按照某个特定标准(如距离准则)把一个数据集分割成不同的簇(簇也称为类),使得同一个簇内的数据对象的相似性尽可能_____,同时不在同一个簇中的数据对象的差异性也尽可能地______。(回答大或小)
答:大;大。
2.闵可夫斯基距离公式d=pk=1n|x1k-x2k|p,当p=1
答:曼哈顿距离;欧几里得距离;切比雪夫距离
3.对于高维空间的任意2个坐标点,欧几里得距离、曼哈顿距离、切比雪夫距离三者的大小关系是:______=_______=________
答:曼哈顿距离=欧几里得距离=切比雪夫距离
4.哪一种距离指标是衡量两个向量夹角的余弦,只考虑向量的方向,不考虑向量的大小?
答:余弦相似度
二计算题
1.计算x(1,2)和y(3,4)之间的曼哈顿距离、欧几里得距离、切比雪夫距离、余弦相似度。
解:(1)曼哈顿距离d=2+2=4
(2)欧几里得距离d=sqrt(4+4)=2.828
(3)切比雪夫距离d=max(2,2)=2
(4)余弦相似度cosθ=(3+8)/(sqrt(1+4)*sqrt(9+16))=0.984
2.聚类1有2个点x1(0,1)、x2(1,0)。聚类2有2个点y1(5,6)和y2(6,5)。计算轮廓系数。距离指标用曼哈顿距离。
解:a_x1=1+1=2
b_x1=((5+5)+(6+4))/2=10
s_x1=(b_x1-a_x1)/max(a_x1,b_x1)=0.8
a_x2=2;b_x2=10;s_x2=0.8
a_y1=2;b_y1=10;s_y1=0.8
a_y2=2;b_y2=10;s_y2=0.8
SC=0.8*4/4=0.8
三编程题
1.用Python进行聚类编程,完成以下要求:
(1)导入sklearn自带数据集breast_cancer,显示相关信息,然后将数据集分为训练集和测试集。
#将sklearn自带数据集breast_cance分为训练集和测试仪集
#将sklearn自带数据集breast_cance分为训练集和测试仪集
fromsklearn.datasetsimportload_breast_cancer
#导入数据
breast_cancer=load_breast_cancer()
X=breast_cancer.data
y=breast_cancer.target
print(数据集的长度:,len(breast_cancer))
print(数据集的类型:,type(breast_cancer))
#查看数据集信息print(数据集的数据为:,\n,X)
print(数据集的数据:\n,X)
print(数据集的标签:\n,y)
#取出数据集的特征名
breast_cancer_names=breast_cancer[feature_names]
print(数据集的特征名:\n,breast_cancer_names)
print(原始数据集数据的形状:,X.shape)
print(原始数据集标签的形状:,y.shape)
#将数据集划分为训练集和测试集
fromsklearn.model_selectionimporttrain_test_split
breast_cancer_data_train,breast_cancer_data_test,breast_cancer_target_train,\
breast_cancer_target_test=train_test_split(X,y,test_size=0.2,random_state=42)
print(训练集数据的形状:,breast_cancer_data_train.shape)
print(训练集标签的形状:,breast_cancer_target_train.shape)
print(测试集数据的形状:,breast_cancer_data_test.shape)
print(测试集标签的形状:,breast_cancer_target_test.shape)
(2)对breast_cancer数据集进行标准化和归一化操作。
#对breast_cancer数据集进行标准化和归一化
fromsklearn.datasetsimportload_breast_cancer
#导入数据
breast_cancer=load_breast_cancer()
X=breast_cancer.data
y=breast_cancer.target
print(数据集的长度:,len(breast_can
文档评论(0)