聚类分析算法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
d=1-r; %进行数据变换,把相关系数转化为距离
d=tril(d); %取出矩阵d的下三角元素
d=nonzeros(d); %取出非零元素
d=d'; %化成行向量
z=linkage(d,'average'); %按类平均法聚类
dendrogram(z); %画聚类图
T=cluster(z,'maxclust',4) %把变量划分成4类
************
划分成3类的结果如下:
第1类的有125 274
第2类的有1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 126 127 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 269 270 271 272 273 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
第3类的有128 268
************
划分成4类的结果如下:
第1类的有19 25 41 101 111 121 171 173 260 283
第2类的有1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 4344 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 109 110 112 113 114 115 116 117 118 119 120 122 123 124 126 127 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 172 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204205 206 207 208 209 210 211 212213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255256 257 258 259 261 262 263 264 265 266 267 269 270 271 272 273 275 276 277 278 279 280 281 282 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
信息与计算科学专业实验报告
课程名称
数据挖掘原理与算法
总实验学时:
第次
共次
实验项目名称
聚类分析
本次实验学时数:
实验类型
日期
2016年5月25日星期三
年级
本13信计01班
学生姓名
黄顺团
学号
20134390131
课任教师
唐志刚
1.实验目的:
用数据挖掘聚类算法(Q型聚类、R型聚类)求分类微博数据。
2.实验环境:
for i=1:4
tm=find(T==i); %求第i类的对象
tm=reshape(tm,1,length(tm)); %变成行向量
fprintf('第%d类的有%s \n',i,int2str(tm)); %显示分类结果
end
r %显示相关系数矩阵
2、Untitled2.m
clc,clear
load julei.txt %把原始数据保存在纯文本文件julei.txt中
julei(:,5)=[]; %删除数据矩阵的第5列,即使用变量1,2,3,4
julei=zscore(julei); %数据标准化
y=pdist(julei); %求对象间的欧氏距离,每行是一个对象
z=linkage(y,'average'); %按类平均法聚类
dendrogram(z); %画聚类图
第3类的有125 274
第4类的有128 268
************
划分成5类的结果如下:Βιβλιοθήκη 第1类的有10 48 215 233
第2类的有1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 49 5051 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 109 110 112 113 114 115 116 117 118 119 120 122 123 124 126 127 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 172 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211212 213 214 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 261 262 263 264 265266 267 269 270 271 272 273 275 276 277 278 279 280 281 282 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
MATLAB 7.0。
Windows 7操作系统。
3.实验内容
由于数据集比较大,数据TXT文件不引入报告中。命名为julei.txt。
相关两个源文件代码文件如下:
1、Untitled.m
clc,clear
load julei.txt %把原始数据保存在纯文本文件julei.txt中
r=corrcoef(julei); %计算相关系数矩阵
end
if k==8
break
end
fprintf('************\n');
End
输出结果为:
1、
图一(R型聚类)
>> T =
4
2
3
1
2
第1类的有4
第2类的有2 5
第3类的有3
第4类的有1
>> r =
1.0000 -0.1824 0.0439 -0.0298 -0.0871
-0.1824 1.0000 0.2844 0.4158 0.9003
0.0439 0.2844 1.0000 0.1883 0.3327
-0.0298 0.4158 0.1883 1.0000 0.4965
-0.0871 0.9003 0.3327 0.4965 1.0000
2、
图2(各对象聚类树形图)
划分成2类的结果如下:
第1类的有128 268
第2类的有1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4849 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254255 256 257 258 259 260 261 262 263 264 265 266 267 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
for k=2:8
fprintf('划分成%d类的结果如下:\n',k)
T=cluster(z,'maxclust',k); %把样本点划分成k类
for i=1:k
tm=find(T==i); %求第i类的对象
tm=reshape(tm,1,length(tm)); %变成行向量
fprintf('第%d类的有%s \n',i,int2str(tm)); %显示分类结果
d=tril(d); %取出矩阵d的下三角元素
d=nonzeros(d); %取出非零元素
d=d'; %化成行向量
z=linkage(d,'average'); %按类平均法聚类
dendrogram(z); %画聚类图
T=cluster(z,'maxclust',4) %把变量划分成4类
************
划分成3类的结果如下:
第1类的有125 274
第2类的有1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 126 127 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 269 270 271 272 273 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
第3类的有128 268
************
划分成4类的结果如下:
第1类的有19 25 41 101 111 121 171 173 260 283
第2类的有1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 4344 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 109 110 112 113 114 115 116 117 118 119 120 122 123 124 126 127 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 172 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204205 206 207 208 209 210 211 212213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255256 257 258 259 261 262 263 264 265 266 267 269 270 271 272 273 275 276 277 278 279 280 281 282 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
信息与计算科学专业实验报告
课程名称
数据挖掘原理与算法
总实验学时:
第次
共次
实验项目名称
聚类分析
本次实验学时数:
实验类型
日期
2016年5月25日星期三
年级
本13信计01班
学生姓名
黄顺团
学号
20134390131
课任教师
唐志刚
1.实验目的:
用数据挖掘聚类算法(Q型聚类、R型聚类)求分类微博数据。
2.实验环境:
for i=1:4
tm=find(T==i); %求第i类的对象
tm=reshape(tm,1,length(tm)); %变成行向量
fprintf('第%d类的有%s \n',i,int2str(tm)); %显示分类结果
end
r %显示相关系数矩阵
2、Untitled2.m
clc,clear
load julei.txt %把原始数据保存在纯文本文件julei.txt中
julei(:,5)=[]; %删除数据矩阵的第5列,即使用变量1,2,3,4
julei=zscore(julei); %数据标准化
y=pdist(julei); %求对象间的欧氏距离,每行是一个对象
z=linkage(y,'average'); %按类平均法聚类
dendrogram(z); %画聚类图
第3类的有125 274
第4类的有128 268
************
划分成5类的结果如下:Βιβλιοθήκη 第1类的有10 48 215 233
第2类的有1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 49 5051 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 103 104 105 106 107 108 109 110 112 113 114 115 116 117 118 119 120 122 123 124 126 127 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 172 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211212 213 214 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 261 262 263 264 265266 267 269 270 271 272 273 275 276 277 278 279 280 281 282 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
MATLAB 7.0。
Windows 7操作系统。
3.实验内容
由于数据集比较大,数据TXT文件不引入报告中。命名为julei.txt。
相关两个源文件代码文件如下:
1、Untitled.m
clc,clear
load julei.txt %把原始数据保存在纯文本文件julei.txt中
r=corrcoef(julei); %计算相关系数矩阵
end
if k==8
break
end
fprintf('************\n');
End
输出结果为:
1、
图一(R型聚类)
>> T =
4
2
3
1
2
第1类的有4
第2类的有2 5
第3类的有3
第4类的有1
>> r =
1.0000 -0.1824 0.0439 -0.0298 -0.0871
-0.1824 1.0000 0.2844 0.4158 0.9003
0.0439 0.2844 1.0000 0.1883 0.3327
-0.0298 0.4158 0.1883 1.0000 0.4965
-0.0871 0.9003 0.3327 0.4965 1.0000
2、
图2(各对象聚类树形图)
划分成2类的结果如下:
第1类的有128 268
第2类的有1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4849 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254255 256 257 258 259 260 261 262 263 264 265 266 267 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
for k=2:8
fprintf('划分成%d类的结果如下:\n',k)
T=cluster(z,'maxclust',k); %把样本点划分成k类
for i=1:k
tm=find(T==i); %求第i类的对象
tm=reshape(tm,1,length(tm)); %变成行向量
fprintf('第%d类的有%s \n',i,int2str(tm)); %显示分类结果