0


数据仓库作业六:第9章 分类规则挖掘

目录


第9章 分类规则挖掘

第一题

1、设网球俱乐部有打球与气候条件的历史统计数据如下表1所示。它有“天气”、“气温”、“适度”和“风力”4个描述气候的条件属性,类别属性为“是”与“否”的二元取值,分别表示在当时的气候条件下是否适宜打球的两种类别。
表1 打球与气候情况的历史数据样本集S样本id天气温度湿度风力类别样本id天气温度湿度风力类别

  1. X
  2. 1
  3. X_1
  4. X1​晴高大无否
  5. X
  6. 8
  7. X_8
  8. X8​晴中大无否
  9. X
  10. 2
  11. X_2
  12. X2​晴高大无否
  13. X
  14. 9
  15. X_9
  16. X9​晴低小无是
  17. X
  18. 3
  19. X_3
  20. X3​云高大无是
  21. X
  22. 10
  23. X_{10}
  24. X10​雨中小无是
  25. X
  26. 4
  27. X_4
  28. X4​雨中大无是
  29. X
  30. 11
  31. X_{11}
  32. X11​晴中小有是
  33. X
  34. 5
  35. X_5
  36. X5​雨低小无是
  37. X
  38. 12
  39. X_{12}
  40. X12​云中大有是
  41. X
  42. 6
  43. X_6
  44. X6​雨低小有否
  45. X
  46. 13
  47. X_{13}
  48. X13​云高小无是
  49. X
  50. 7
  51. X_7
  52. X7​云低小有是
  53. X
  54. 14
  55. X_{14}
  56. X14​雨中大有否

**对

  1. S
  2. S
  3. S 中的任意两个数据对象
  4. X
  5. ,
  6. Y
  7. X,Y
  8. X,Y,定义其在4个条件属性上的相异度为
  9. d
  10. (
  11. X
  12. ,
  13. Y
  14. )
  15. =
  16. j
  17. =
  18. 1
  19. r
  20. δ
  21. (
  22. x
  23. j
  24. ,
  25. y
  26. j
  27. )
  28. d(X,Y)=\sum_{j=1}^r\delta(x_j,y_j)
  29. d(X,Y)=j=1r​δ(xj​,yj​) 其中
  30. x
  31. j
  32. ,
  33. y
  34. j
  35. x_j,y_j
  36. xj​,yj 是数据对象
  37. X
  38. ,
  39. Y
  40. X,Y
  41. X,Y 的第
  42. j
  43. j
  44. j 个分量值;如果
  45. x
  46. j
  47. =
  48. y
  49. j
  50. x_j=y_j
  51. xj​=yj​,
  52. δ
  53. (
  54. x
  55. j
  56. ,
  57. y
  58. j
  59. )
  60. =
  61. 0
  62. \delta(x_j,y_j)=0
  63. δ(xj​,yj​)=0,否则
  64. δ
  65. (
  66. x
  67. j
  68. ,
  69. y
  70. j
  71. )
  72. =
  73. 1
  74. \delta(x_j,y_j)=1
  75. δ(xj​,yj​)=1。**

**根据天气预报得知,后天的天气情况

  1. X
  2. H
  3. =
  4. (
  5. 雨、高、小、无
  6. )
  7. X_H=(雨、高、小、无)
  8. XH​=(雨、高、小、无),若令,请用
  9. k
  10. k
  11. k-最近邻分类算法预测后天是否适合打球。**

解:

首先,计算相异度。根据提供的相异度定义,可以使用欧氏距离来计算相异度。欧氏距离的计算公式如下所示:

  1. d
  2. (
  3. p
  4. ,
  5. q
  6. )
  7. =
  8. (
  9. p
  10. 1
  11. q
  12. 1
  13. )
  14. 2
  15. +
  16. (
  17. p
  18. 2
  19. q
  20. 2
  21. )
  22. 2
  23. +
  24. (
  25. p
  26. 3
  27. q
  28. 3
  29. )
  30. 2
  31. +
  32. (
  33. p
  34. 4
  35. q
  36. 4
  37. )
  38. 2
  39. d(\mathbf{p}, \mathbf{q}) = \sqrt{(p_1 - q_1)^2 + (p_2 - q_2)^2 + (p_3 - q_3)^2 + (p_4 - q_4)^2}
  40. d(p,q)=(p1​−q1​)2+(p2​−q2​)2+(p3​−q3​)2+(p4​−q4​)2

其中 (

  1. p
  2. i
  3. p_i
  4. pi​) (
  5. q
  6. i
  7. q_i
  8. qi​) 分别是两个数据对象在第 (
  9. i
  10. i
  11. i) 个属性上的取值。现在开始计算相异度。对于样本中的每个数据对象,将其表示为一个向量,其中每个分量对应于一个条件属性。然后,使用欧氏距离计算每对数据对象之间的相异度。接下来,将根据计算得到的相异度找出与后天天气情况最相似的 k 个样本,以进行预测。

计算后天天气情况(雨、高、小、无)与每个样本之间的相异度。现在,让计算后天天气情况(雨、高、小、无)与每个样本之间的相异度。使用欧氏距离公式来计算相异度:

  1. d
  2. (
  3. p
  4. ,
  5. q
  6. )
  7. =
  8. (
  9. p
  10. 1
  11. q
  12. 1
  13. )
  14. 2
  15. +
  16. (
  17. p
  18. 2
  19. q
  20. 2
  21. )
  22. 2
  23. +
  24. (
  25. p
  26. 3
  27. q
  28. 3
  29. )
  30. 2
  31. +
  32. (
  33. p
  34. 4
  35. q
  36. 4
  37. )
  38. 2
  39. d(\mathbf{p}, \mathbf{q}) = \sqrt{(p_1 - q_1)^2 + (p_2 - q_2)^2 + (p_3 - q_3)^2 + (p_4 - q_4)^2}
  40. d(p,q)=(p1​−q1​)2+(p2​−q2​)2+(p3​−q3​)2+(p4​−q4​)2

其中,(

  1. p
  2. \mathbf{p}
  3. p) 表示后天天气情况,(
  4. q
  5. \mathbf{q}
  6. q) 表示样本数据中的每个数据对象。

后天天气情况为:天气=雨,温度=高,湿度=小,风力=无。现在,计算后天天气情况与每个样本之间的相异度。先将后天的天气情况表示为向量:

  1. p
  2. H
  3. =
  4. (
  5. ,
  6. ,
  7. ,
  8. )
  9. \mathbf{p_{\text{H}}} = (雨, 高, 小, 无)
  10. pH​=(雨,高,小,无)

然后,逐个计算后天天气情况与每个样本之间的相异度。将每个样本的条件属性值代入欧氏距离公式中,并计算相异度。下面是计算结果:

  1. d
  2. (
  3. p
  4. H
  5. ,
  6. q
  7. 1
  8. )
  9. =
  10. (
  11. )
  12. 2
  13. +
  14. (
  15. )
  16. 2
  17. +
  18. (
  19. )
  20. 2
  21. +
  22. (
  23. )
  24. 2
  25. =
  26. 1
  27. 2
  28. +
  29. 0
  30. 2
  31. +
  32. 1
  33. 2
  34. +
  35. 0
  36. 2
  37. =
  38. 2
  39. 1.414
  40. d
  41. (
  42. p
  43. H
  44. ,
  45. q
  46. 2
  47. )
  48. =
  49. (
  50. )
  51. 2
  52. +
  53. (
  54. )
  55. 2
  56. +
  57. (
  58. )
  59. 2
  60. +
  61. (
  62. )
  63. 2
  64. =
  65. 1
  66. 2
  67. +
  68. 0
  69. 2
  70. +
  71. 1
  72. 2
  73. +
  74. 0
  75. 2
  76. =
  77. 2
  78. 1.414
  79. d
  80. (
  81. p
  82. H
  83. ,
  84. q
  85. 3
  86. )
  87. =
  88. (
  89. )
  90. 2
  91. +
  92. (
  93. )
  94. 2
  95. +
  96. (
  97. )
  98. 2
  99. +
  100. (
  101. )
  102. 2
  103. =
  104. 1
  105. 2
  106. +
  107. 0
  108. 2
  109. +
  110. 1
  111. 2
  112. +
  113. 0
  114. 2
  115. =
  116. 2
  117. 1.414
  118. d
  119. (
  120. p
  121. H
  122. ,
  123. q
  124. 4
  125. )
  126. =
  127. (
  128. )
  129. 2
  130. +
  131. (
  132. )
  133. 2
  134. +
  135. (
  136. )
  137. 2
  138. +
  139. (
  140. )
  141. 2
  142. =
  143. 0
  144. 2
  145. +
  146. 1
  147. 2
  148. +
  149. 1
  150. 2
  151. +
  152. 0
  153. 2
  154. =
  155. 2
  156. 1.414
  157. d
  158. (
  159. p
  160. H
  161. ,
  162. q
  163. 5
  164. )
  165. =
  166. (
  167. )
  168. 2
  169. +
  170. (
  171. )
  172. 2
  173. +
  174. (
  175. )
  176. 2
  177. +
  178. (
  179. )
  180. 2
  181. =
  182. 0
  183. 2
  184. +
  185. 1
  186. 2
  187. +
  188. 0
  189. 2
  190. +
  191. 0
  192. 2
  193. =
  194. 1
  195. d
  196. (
  197. p
  198. H
  199. ,
  200. q
  201. 6
  202. )
  203. =
  204. (
  205. )
  206. 2
  207. +
  208. (
  209. )
  210. 2
  211. +
  212. (
  213. )
  214. 2
  215. +
  216. (
  217. )
  218. 2
  219. =
  220. 0
  221. 2
  222. +
  223. 1
  224. 2
  225. +
  226. 0
  227. 2
  228. +
  229. 1
  230. 2
  231. =
  232. 2
  233. 1.414
  234. d
  235. (
  236. p
  237. H
  238. ,
  239. q
  240. 7
  241. )
  242. =
  243. (
  244. )
  245. 2
  246. +
  247. (
  248. )
  249. 2
  250. +
  251. (
  252. )
  253. 2
  254. +
  255. (
  256. )
  257. 2
  258. =
  259. 1
  260. 2
  261. +
  262. 1
  263. 2
  264. +
  265. 0
  266. 2
  267. +
  268. 1
  269. 2
  270. =
  271. 3
  272. 1.732
  273. d
  274. (
  275. p
  276. H
  277. ,
  278. q
  279. 8
  280. )
  281. =
  282. (
  283. )
  284. 2
  285. +
  286. (
  287. )
  288. 2
  289. +
  290. (
  291. )
  292. 2
  293. +
  294. (
  295. )
  296. 2
  297. =
  298. 1
  299. 2
  300. +
  301. 1
  302. 2
  303. +
  304. 1
  305. 2
  306. +
  307. 0
  308. 2
  309. =
  310. 3
  311. 1.732
  312. d
  313. (
  314. p
  315. H
  316. ,
  317. q
  318. 9
  319. )
  320. =
  321. (
  322. )
  323. 2
  324. +
  325. (
  326. )
  327. 2
  328. +
  329. (
  330. )
  331. 2
  332. +
  333. (
  334. )
  335. 2
  336. =
  337. 1
  338. 2
  339. +
  340. 1
  341. 2
  342. +
  343. 0
  344. 2
  345. +
  346. 0
  347. 2
  348. =
  349. 2
  350. 1.414
  351. d
  352. (
  353. p
  354. H
  355. ,
  356. q
  357. 10
  358. )
  359. =
  360. (
  361. )
  362. 2
  363. +
  364. (
  365. )
  366. 2
  367. +
  368. (
  369. )
  370. 2
  371. +
  372. (
  373. )
  374. 2
  375. =
  376. 0
  377. 2
  378. +
  379. 1
  380. 2
  381. +
  382. 0
  383. 2
  384. +
  385. 0
  386. 2
  387. =
  388. 1
  389. d
  390. (
  391. p
  392. H
  393. ,
  394. q
  395. 11
  396. )
  397. =
  398. (
  399. )
  400. 2
  401. +
  402. (
  403. )
  404. 2
  405. +
  406. (
  407. )
  408. 2
  409. +
  410. (
  411. )
  412. 2
  413. =
  414. 1
  415. 2
  416. +
  417. 1
  418. 2
  419. +
  420. 0
  421. 2
  422. +
  423. 1
  424. 2
  425. =
  426. 2
  427. 1.414
  428. d
  429. (
  430. p
  431. H
  432. ,
  433. q
  434. 12
  435. )
  436. =
  437. (
  438. )
  439. 2
  440. +
  441. (
  442. )
  443. 2
  444. +
  445. (
  446. )
  447. 2
  448. +
  449. (
  450. )
  451. 2
  452. =
  453. 1
  454. 2
  455. +
  456. 1
  457. 2
  458. +
  459. 1
  460. 2
  461. +
  462. 1
  463. 2
  464. =
  465. 2
  466. d
  467. (
  468. p
  469. H
  470. ,
  471. q
  472. 13
  473. )
  474. =
  475. (
  476. )
  477. 2
  478. +
  479. (
  480. )
  481. 2
  482. +
  483. (
  484. )
  485. 2
  486. +
  487. (
  488. )
  489. 2
  490. =
  491. 1
  492. 2
  493. +
  494. 0
  495. 2
  496. +
  497. 0
  498. 2
  499. +
  500. 0
  501. 2
  502. =
  503. 1
  504. d
  505. (
  506. p
  507. H
  508. ,
  509. q
  510. 14
  511. )
  512. =
  513. (
  514. )
  515. 2
  516. +
  517. (
  518. )
  519. 2
  520. +
  521. (
  522. )
  523. 2
  524. +
  525. (
  526. )
  527. 2
  528. =
  529. 0
  530. 2
  531. +
  532. 1
  533. 2
  534. +
  535. 1
  536. 2
  537. +
  538. 1
  539. 2
  540. =
  541. 3
  542. 1.732
  543. \begin{align*} d(\mathbf{p_{\text{H}}}, \mathbf{q_1}) &= \sqrt{(雨 - 晴)^2 + (高 - 高)^2 + (小 - 大)^2 + (无 - 无)^2} \ = \sqrt{1^2 + 0^2 + 1^2 + 0^2} \ = \sqrt{2} \ \approx 1.414 \ \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_2}) &= \sqrt{(雨 - 晴)^2 + (高 - 高)^2 + (小 - 大)^2 + (无 - 无)^2} \ = \sqrt{1^2 + 0^2 + 1^2 + 0^2} \ = \sqrt{2} \ \approx 1.414 \ \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_3}) &= \sqrt{(雨 - 云)^2 + (高 - 高)^2 + (小 - 大)^2 + (无 - 无)^2} \ = \sqrt{1^2 + 0^2 + 1^2 + 0^2} \ = \sqrt{2} \ \approx 1.414 \ \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_4}) &= \sqrt{(雨 - 雨)^2 + (高 - 中)^2 + (小 - 大)^2 + (无 - 无)^2} \ = \sqrt{0^2 + 1^2 + 1^2 + 0^2} \ = \sqrt{2} \ \approx 1.414 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_5}) &= \sqrt{(雨 - 雨)^2 + (高 - 低)^2 + (小 - 小)^2 + (无 - 无)^2} \ = \sqrt{0^2 + 1^2 + 0^2 + 0^2} \ = 1 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_6}) &= \sqrt{(雨 - 雨)^2 + (高 - 低)^2 + (小 - 小)^2 + (无 - 有)^2} \ = \sqrt{0^2 + 1^2 + 0^2 + 1^2} \ = \sqrt{2} \ \approx 1.414 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_7}) &= \sqrt{(雨 - 云)^2 + (高 - 低)^2 + (小 - 小)^2 + (无 - 有)^2} \ = \sqrt{1^2 + 1^2 + 0^2 + 1^2} \ = \sqrt{3} \ \approx 1.732 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_8}) &= \sqrt{(雨 - 晴)^2 + (高 - 中)^2 + (小 - 大)^2 + (无 - 无)^2} \ = \sqrt{1^2 + 1^2 + 1^2 + 0^2} \ = \sqrt{3} \ \approx 1.732 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_9}) &= \sqrt{(雨 - 晴)^2 + (高 - 低)^2 + (小 - 小)^2 + (无 - 无)^2} \ = \sqrt{1^2 + 1^2 + 0^2 + 0^2} \ = \sqrt{2} \ \approx 1.414 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_{10}}) &= \sqrt{(雨 - 雨)^2 + (高 - 中)^2 + (小 - 小)^2 + (无 - 无)^2} \ = \sqrt{0^2 + 1^2 + 0^2 + 0^2} \ = 1 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_{11}}) &= \sqrt{(雨 - 晴)^2 + (高 - 中)^2 + (小 - 小)^2 + (无 - 有)^2} \ = \sqrt{1^2 + 1^2 + 0^2 + 1^2} \ = \sqrt{2} \ \approx 1.414 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_{12}}) &= \sqrt{(雨 - 云)^2 + (高 - 中)^2 + (小 - 大)^2 + (无 - 有)^2} \ = \sqrt{1^2 + 1^2 + 1^2 + 1^2} \ = 2 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_{13}}) &= \sqrt{(雨 - 云)^2 + (高 - 高)^2 + (小 - 小)^2 + (无 - 无)^2} \ = \sqrt{1^2 + 0^2 + 0^2 + 0^2} \ = 1 \\[1ex] d(\mathbf{p_{\text{H}}}, \mathbf{q_{14}}) &= \sqrt{(雨 - 雨)^2 + (高 - 中)^2 + (小 - 大)^2 + (无 - 有)^2} \ = \sqrt{0^2 + 1^2 + 1^2 + 1^2} \ = \sqrt{3} \ \approx 1.732 \end{align*}
  544. d(pH​,q1​)d(pH​,q2​)d(pH​,q3​)d(pH​,q4​)d(pH​,q5​)d(pH​,q6​)d(pH​,q7​)d(pH​,q8​)d(pH​,q9​)d(pH​,q10​)d(pH​,q11​)d(pH​,q12​)d(pH​,q13​)d(pH​,q14​)​=(雨−晴)2+(高−高)2+(小−大)2+(无−无)2 =12+02+12+02 =2 1.414 =(雨−晴)2+(高−高)2+(小−大)2+(无−无)2 =12+02+12+02 =2 1.414 =(雨−云)2+(高−高)2+(小−大)2+(无−无)2 =12+02+12+02 =2 1.414 =(雨−雨)2+(高−中)2+(小−大)2+(无−无)2 =02+12+12+02 =2 1.414=(雨−雨)2+(高−低)2+(小−小)2+(无−无)2 =02+12+02+02 =1=(雨−雨)2+(高−低)2+(小−小)2+(无−有)2 =02+12+02+12 =2 1.414=(雨−云)2+(高−低)2+(小−小)2+(无−有)2 =12+12+02+12 =3 1.732=(雨−晴)2+(高−中)2+(小−大)2+(无−无)2 =12+12+12+02 =3 1.732=(雨−晴)2+(高−低)2+(小−小)2+(无−无)2 =12+12+02+02 =2 1.414=(雨−雨)2+(高−中)2+(小−小)2+(无−无)2 =02+12+02+02 =1=(雨−晴)2+(高−中)2+(小−小)2+(无−有)2 =12+12+02+12 =2 1.414=(雨−云)2+(高−中)2+(小−大)2+(无−有)2 =12+12+12+12 =2=(雨−云)2+(高−高)2+(小−小)2+(无−无)2 =12+02+02+02 =1=(雨−雨)2+(高−中)2+(小−大)2+(无−有)2 =02+12+12+12 =3 1.732

接下来,找出与后天天气情况最相似的 k 个样本。

假设选择 k=3,即找出与后天天气情况最相似的三个样本。根据之前计算的相异度,可以列出相异度最小的三个样本。

样本

  1. X
  2. 5
  3. X_5
  4. X5​: 相异度为 1;样本
  5. X
  6. 10
  7. X_{10}
  8. X10​: 相异度为 1;样本
  9. X
  10. 13
  11. X_{13}
  12. X13​: 相异度为 1。因此,与后天天气情况最相似的三个样本是
  13. X
  14. 5
  15. X_5
  16. X5​、
  17. X
  18. 10
  19. X_{10}
  20. X10
  21. X
  22. 13
  23. X_{13}
  24. X13​。

最后,将根据这三个样本的类别来预测后天是否适合打球。在这三个样本中,类别为“是”,所以可以预测后天适合打球。

第二题

2、设有动物分类样本集如下表2,其中是否温血、有无羽毛、有无毛皮、会否游泳为条件属性,卵生动物类别属性,取值1表示该动物为卵生动物,0表示非卵生动物。试用ID3算法对样本集进行学习并生成其决策树,再由决策树获得动物的分类规则。
表2 数据集S有8个带类别标号的数据对象动物id是否温血有无羽毛有无毛皮会否游泳是否卵生

  1. X
  2. 1
  3. X_1
  4. X111001
  5. X
  6. 2
  7. X_2
  8. X200011
  9. X
  10. 3
  11. X_3
  12. X311001
  13. X
  14. 4
  15. X_4
  16. X411001
  17. X
  18. 5
  19. X_5
  20. X510010
  21. X
  22. 6
  23. X_6
  24. X610100

解:

第一步:选择

  1. S
  2. S
  3. S 增益最大的属性构造决策树的根结点。

(1)计算分类属性

  1. C
  2. C
  3. C 的分类信息熵

已知

  1. S
  2. =
  3. {
  4. X
  5. 1
  6. ,
  7. X
  8. 2
  9. ,
  10. ,
  11. X
  12. 6
  13. }
  14. S=\{X_1,X_2,…,X_6\}
  15. S={X1​,X2​,…,X6​}共有6个样本点,故
  16. S
  17. =
  18. 6
  19. |S|=6
  20. S∣=6,而分类属性
  21. C
  22. =
  23. {
  24. 1
  25. ,
  26. 0
  27. }
  28. =
  29. {
  30. C
  31. 1
  32. ,
  33. C
  34. 2
  35. }
  36. C=\{1, 0\}=\{C_1,C_2\}
  37. C={1,0}={C1​,C2​},即
  38. C
  39. 1
  40. C_1
  41. C1 1 是卵生动物,
  42. C
  43. 2
  44. C_2
  45. C2 0 是非卵生动物,
  46. C
  47. 1
  48. =
  49. {
  50. X
  51. 1
  52. ,
  53. X
  54. 2
  55. ,
  56. X
  57. 3
  58. ,
  59. X
  60. 4
  61. }
  62. C_1=\{X_1, X_2, X_3, X_4\}
  63. C1​={X1​,X2​,X3​,X4​},
  64. C
  65. 2
  66. =
  67. {
  68. X
  69. 5
  70. ,
  71. X
  72. 6
  73. }
  74. C_2=\{X_5, X_6\}
  75. C2​={X5​,X6​}。

根据信息熵公式有

  1. E
  2. (
  3. S
  4. ,
  5. C
  6. )
  7. =
  8. i
  9. =
  10. 1
  11. 2
  12. C
  13. i
  14. S
  15. log
  16. 2
  17. C
  18. i
  19. S
  20. =
  21. (
  22. 4
  23. 6
  24. log
  25. 2
  26. 4
  27. 6
  28. +
  29. 2
  30. 6
  31. log
  32. 2
  33. 2
  34. 6
  35. )
  36. 0.918
  37. E(S,C)=-\sum_{i=1}^{2}\frac{|C_i|}{|S|}\log_2\frac{|C_i|}{|S|}=-\left(\frac{4}{6}\log_2\frac{4}{6}+\frac{2}{6}\log_2\frac{2}{6}\right) \approx 0.918
  38. E(S,C)=−i=12​∣S∣∣Ci​∣​log2​∣S∣∣Ci​∣​=−(64log264​+62log262​)≈0.918

(2)计算每个条件属性

  1. A
  2. A
  3. A 相对
  4. C
  5. C
  6. C 的信息熵

样本集

  1. S
  2. S
  3. S 有是否温血、有无羽毛、有无毛皮、会否游泳等4个条件属性,因此,应分别计算它们相对
  4. C
  5. C
  6. C 的分类信息熵。

① 当

  1. A
  2. 1
  3. A_1
  4. A1​=“是否温血” 时,属性
  5. A
  6. 1
  7. A_1
  8. A1
  9. S
  10. S
  11. S 划分为
  12. S
  13. 1
  14. =
  15. {
  16. X
  17. 1
  18. ,
  19. X
  20. 3
  21. ,
  22. X
  23. 4
  24. ,
  25. X
  26. 5
  27. ,
  28. X
  29. 6
  30. }
  31. S_1=\{X_1, X_3, X_4, X_5, X_6\}
  32. S1​={X1​,X3​,X4​,X5​,X6​},
  33. S
  34. 2
  35. =
  36. {
  37. X
  38. 2
  39. }
  40. S_2=\{X_2\}
  41. S2​={X2​}。

因为

  1. C
  2. 1
  3. S
  4. 1
  5. =
  6. {
  7. X
  8. 1
  9. ,
  10. X
  11. 3
  12. ,
  13. X
  14. 4
  15. }
  16. C_1\cap S_1 =\{X_1, X_3,X_4\}
  17. C1​∩S1​={X1​,X3​,X4​},
  18. C
  19. 2
  20. S
  21. 1
  22. =
  23. {
  24. X
  25. 5
  26. ,
  27. X
  28. 6
  29. }
  30. C_2\cap S_1=\{X_5, X_6\}
  31. C2​∩S1​={X5​,X6​},根据信息熵公式有
  32. E
  33. (
  34. S
  35. 1
  36. ,
  37. C
  38. )
  39. =
  40. i
  41. =
  42. 1
  43. 2
  44. C
  45. i
  46. S
  47. 1
  48. S
  49. 1
  50. log
  51. 2
  52. (
  53. C
  54. i
  55. S
  56. 1
  57. S
  58. 1
  59. )
  60. =
  61. (
  62. 3
  63. 5
  64. log
  65. 2
  66. 3
  67. 5
  68. +
  69. 2
  70. 5
  71. log
  72. 2
  73. 2
  74. 5
  75. )
  76. 0.971
  77. E(S_1,C)=-\sum_{i=1}^{2}\frac{|C_i\cap S_1|}{|S_1|}\log_2\left(\frac{|C_i\cap S_1|}{|S_1|}\right)=-\left(\frac{3}{5}\log_2\frac{3}{5}+\frac{2}{5}\log_2\frac{2}{5}\right) \approx 0.971
  78. E(S1​,C)=−i=12​∣S1​∣∣Ci​∩S1​∣​log2​(∣S1​∣∣Ci​∩S1​∣​)=−(53log253​+52log252​)≈0.971 同理有
  79. C
  80. 1
  81. S
  82. 2
  83. =
  84. {
  85. X
  86. 2
  87. }
  88. C_1\cap S_2 =\{X_2\}
  89. C1​∩S2​={X2​},
  90. C
  91. 2
  92. S
  93. 2
  94. =
  95. C_2\cap S_2=\varnothing
  96. C2​∩S2​=∅,根据信息熵公式有
  97. E
  98. (
  99. S
  100. 2
  101. ,
  102. C
  103. )
  104. =
  105. i
  106. =
  107. 1
  108. 2
  109. C
  110. i
  111. S
  112. 2
  113. S
  114. 2
  115. log
  116. 2
  117. (
  118. C
  119. i
  120. S
  121. 2
  122. S
  123. 2
  124. )
  125. =
  126. (
  127. 1
  128. 1
  129. log
  130. 2
  131. 1
  132. 1
  133. +
  134. 0
  135. 1
  136. log
  137. 2
  138. 0
  139. 1
  140. )
  141. =
  142. 0
  143. E(S_2,C)=-\sum_{i=1}^{2}\frac{|C_i\cap S_2|}{|S_2|}\log_2\left(\frac{|C_i\cap S_2|}{|S_2|}\right)=-\left(\frac{1}{1}\log_2\frac{1}{1}+\frac{0}{1}\log_2\frac{0}{1}\right)=0
  144. E(S2​,C)=−i=12​∣S2​∣∣Ci​∩S2​∣​log2​(∣S2​∣∣Ci​∩S2​∣​)=−(11log211​+10log210​)=0 条件属性
  145. A
  146. 1
  147. A_1
  148. A1 划分样本集
  149. S
  150. S
  151. S 相对于
  152. C
  153. C
  154. C 的信息熵为
  155. E
  156. (
  157. S
  158. ,
  159. A
  160. 1
  161. C
  162. )
  163. =
  164. j
  165. =
  166. 1
  167. 2
  168. S
  169. j
  170. S
  171. E
  172. (
  173. S
  174. j
  175. ,
  176. C
  177. )
  178. =
  179. S
  180. 1
  181. S
  182. E
  183. (
  184. S
  185. 1
  186. ,
  187. C
  188. )
  189. +
  190. S
  191. 2
  192. S
  193. E
  194. (
  195. S
  196. 2
  197. ,
  198. C
  199. )
  200. =
  201. 5
  202. 6
  203. ×
  204. 0.971
  205. +
  206. 1
  207. 6
  208. ×
  209. 0
  210. 0.809
  211. E(S,A_1|C)=\sum_{j=1}^{2}\frac{|S_j|}{|S|}E(S_j,C)=\frac{|S_1|}{|S|}E(S_1,C)+\frac{|S_2|}{|S|}E(S_2,C)=\frac{5}{6}\times0.971+\frac{1}{6}\times0\approx0.809
  212. E(S,A1​∣C)=j=12​∣S∣∣Sj​∣​E(Sj​,C)=∣S∣∣S1​∣​E(S1​,C)+∣S∣∣S2​∣​E(S2​,C)=65​×0.971+61​×00.809

② 当

  1. A
  2. 2
  3. A_2
  4. A2​=“有无羽毛” 时,属性
  5. A
  6. 2
  7. A_2
  8. A2
  9. S
  10. S
  11. S 划分为
  12. S
  13. 1
  14. =
  15. {
  16. X
  17. 1
  18. ,
  19. X
  20. 3
  21. ,
  22. X
  23. 4
  24. }
  25. S_1=\{X_1, X_3, X_4\}
  26. S1​={X1​,X3​,X4​},
  27. S
  28. 2
  29. =
  30. {
  31. X
  32. 2
  33. ,
  34. X
  35. 5
  36. ,
  37. X
  38. 6
  39. }
  40. S_2=\{X_2, X_5, X_6\}
  41. S2​={X2​,X5​,X6​}。

因为

  1. C
  2. 1
  3. S
  4. 1
  5. =
  6. {
  7. X
  8. 1
  9. ,
  10. X
  11. 3
  12. ,
  13. X
  14. 4
  15. }
  16. C_1\cap S_1 =\{X_1, X_3,X_4\}
  17. C1​∩S1​={X1​,X3​,X4​},
  18. C
  19. 2
  20. S
  21. 1
  22. =
  23. C_2\cap S_1=\varnothing
  24. C2​∩S1​=∅,根据信息熵公式有
  25. E
  26. (
  27. S
  28. 1
  29. ,
  30. C
  31. )
  32. =
  33. i
  34. =
  35. 1
  36. 2
  37. C
  38. i
  39. S
  40. 1
  41. S
  42. 1
  43. log
  44. 2
  45. (
  46. C
  47. i
  48. S
  49. 1
  50. S
  51. 1
  52. )
  53. =
  54. (
  55. 3
  56. 3
  57. log
  58. 2
  59. 3
  60. 3
  61. +
  62. 0
  63. 3
  64. log
  65. 2
  66. 0
  67. 3
  68. )
  69. =
  70. 0
  71. E(S_1,C)=-\sum_{i=1}^{2}\frac{|C_i\cap S_1|}{|S_1|}\log_2\left(\frac{|C_i\cap S_1|}{|S_1|}\right)=-\left(\frac{3}{3}\log_2\frac{3}{3}+\frac{0}{3}\log_2\frac{0}{3}\right)=0
  72. E(S1​,C)=−i=12​∣S1​∣∣Ci​∩S1​∣​log2​(∣S1​∣∣Ci​∩S1​∣​)=−(33log233​+30log230​)=0 同理有
  73. C
  74. 1
  75. S
  76. 2
  77. =
  78. {
  79. X
  80. 2
  81. }
  82. C_1\cap S_2 =\{X_2\}
  83. C1​∩S2​={X2​},
  84. C
  85. 2
  86. S
  87. 2
  88. =
  89. {
  90. X
  91. 5
  92. ,
  93. X
  94. 6
  95. }
  96. C_2\cap S_2=\{X_5,X_6\}
  97. C2​∩S2​={X5​,X6​},根据信息熵公式有
  98. E
  99. (
  100. S
  101. 2
  102. ,
  103. C
  104. )
  105. =
  106. i
  107. =
  108. 1
  109. 2
  110. C
  111. i
  112. S
  113. 2
  114. S
  115. 2
  116. log
  117. 2
  118. (
  119. C
  120. i
  121. S
  122. 2
  123. S
  124. 2
  125. )
  126. =
  127. (
  128. 1
  129. 3
  130. log
  131. 2
  132. 1
  133. 3
  134. +
  135. 2
  136. 3
  137. log
  138. 2
  139. 2
  140. 3
  141. )
  142. 0.918
  143. E(S_2,C)=-\sum_{i=1}^{2}\frac{|C_i\cap S_2|}{|S_2|}\log_2\left(\frac{|C_i\cap S_2|}{|S_2|}\right)=-\left(\frac{1}{3}\log_2\frac{1}{3}+\frac{2}{3}\log_2\frac{2}{3}\right) \approx 0.918
  144. E(S2​,C)=−i=12​∣S2​∣∣Ci​∩S2​∣​log2​(∣S2​∣∣Ci​∩S2​∣​)=−(31log231​+32log232​)≈0.918 条件属性
  145. A
  146. 2
  147. A_2
  148. A2 划分样本集
  149. S
  150. S
  151. S 相对于
  152. C
  153. C
  154. C 的信息熵为
  155. E
  156. (
  157. S
  158. ,
  159. A
  160. 2
  161. C
  162. )
  163. =
  164. j
  165. =
  166. 1
  167. 2
  168. S
  169. j
  170. S
  171. E
  172. (
  173. S
  174. j
  175. ,
  176. C
  177. )
  178. =
  179. S
  180. 1
  181. S
  182. E
  183. (
  184. S
  185. 1
  186. ,
  187. C
  188. )
  189. +
  190. S
  191. 2
  192. S
  193. E
  194. (
  195. S
  196. 2
  197. ,
  198. C
  199. )
  200. =
  201. 3
  202. 6
  203. ×
  204. 0
  205. +
  206. 3
  207. 6
  208. ×
  209. 0.918
  210. =
  211. 0.459
  212. E(S,A_2|C)=\sum_{j=1}^{2}\frac{|S_j|}{|S|}E(S_j,C)=\frac{|S_1|}{|S|}E(S_1,C)+\frac{|S_2|}{|S|}E(S_2,C)=\frac{3}{6}\times0+\frac{3}{6}\times0.918=0.459
  213. E(S,A2​∣C)=j=12​∣S∣∣Sj​∣​E(Sj​,C)=∣S∣∣S1​∣​E(S1​,C)+∣S∣∣S2​∣​E(S2​,C)=63​×0+63​×0.918=0.459

③ 当

  1. A
  2. 3
  3. A_3
  4. A3​=“有无毛皮” 时,属性
  5. A
  6. 3
  7. A_3
  8. A3
  9. S
  10. S
  11. S 划分为
  12. S
  13. 1
  14. =
  15. {
  16. X
  17. 6
  18. }
  19. S_1=\{X_6\}
  20. S1​={X6​},
  21. S
  22. 2
  23. =
  24. {
  25. X
  26. 1
  27. ,
  28. X
  29. 2
  30. ,
  31. X
  32. 3
  33. ,
  34. X
  35. 4
  36. ,
  37. X
  38. 5
  39. }
  40. S_2=\{X_1, X_2,X_3, X_4,X_5\}
  41. S2​={X1​,X2​,X3​,X4​,X5​}。

同理可得,

  1. E
  2. (
  3. S
  4. 1
  5. ,
  6. C
  7. )
  8. =
  9. 0
  10. E(S_1,C)=0
  11. E(S1​,C)=0
  12. E
  13. (
  14. S
  15. 2
  16. ,
  17. C
  18. )
  19. 0.722
  20. E(S_2,C)\approx 0.722
  21. E(S2​,C)≈0.722
  22. E
  23. (
  24. S
  25. ,
  26. A
  27. 3
  28. C
  29. )
  30. 0.241
  31. E(S,A_3|C)\approx0.241
  32. E(S,A3​∣C)≈0.241

④ 当

  1. A
  2. 4
  3. A_4
  4. A4​=“会否游泳” 时,属性
  5. A
  6. 4
  7. A_4
  8. A4
  9. S
  10. S
  11. S 划分为
  12. S
  13. 1
  14. =
  15. {
  16. X
  17. 2
  18. ,
  19. X
  20. 5
  21. }
  22. S_1=\{X_2,X_5\}
  23. S1​={X2​,X5​},
  24. S
  25. 2
  26. =
  27. {
  28. X
  29. 1
  30. ,
  31. X
  32. 3
  33. ,
  34. X
  35. 4
  36. ,
  37. X
  38. 6
  39. }
  40. S_2=\{X_1,X_3, X_4,X_6\}
  41. S2​={X1​,X3​,X4​,X6​}。

同理可得,

  1. E
  2. (
  3. S
  4. 1
  5. ,
  6. C
  7. )
  8. =
  9. 1
  10. E(S_1,C)=1
  11. E(S1​,C)=1
  12. E
  13. (
  14. S
  15. 2
  16. ,
  17. C
  18. )
  19. 0.811
  20. E(S_2,C)\approx0.811
  21. E(S2​,C)≈0.811
  22. E
  23. (
  24. S
  25. ,
  26. A
  27. 4
  28. C
  29. )
  30. =
  31. 0.874
  32. E(S,A_4|C)=0.874
  33. E(S,A4​∣C)=0.874

(3)计算每个属性

  1. A
  2. A
  3. A 的信息增益

根据公式

  1. g
  2. a
  3. i
  4. n
  5. (
  6. S
  7. ,
  8. A
  9. C
  10. )
  11. =
  12. E
  13. (
  14. S
  15. ,
  16. C
  17. )
  18. E
  19. (
  20. S
  21. ,
  22. A
  23. C
  24. )
  25. gain(S,A|C)=E(S,C)-E(S,A|C)
  26. gain(S,AC)=E(S,C)−E(S,AC) 可得

① 是否温血:

  1. g
  2. a
  3. i
  4. n
  5. (
  6. S
  7. ,
  8. A
  9. 1
  10. C
  11. )
  12. =
  13. 0.918
  14. 0.809
  15. =
  16. 0.109
  17. gain(S,A_1|C)=0.918-0.809=0.109
  18. gain(S,A1​∣C)=0.9180.809=0.109

② 有无羽毛:

  1. g
  2. a
  3. i
  4. n
  5. (
  6. S
  7. ,
  8. A
  9. 2
  10. C
  11. )
  12. =
  13. 0.918
  14. 0.459
  15. =
  16. 0.459
  17. gain(S,A_2|C)=0.918-0.459=0.459
  18. gain(S,A2​∣C)=0.9180.459=0.459

③ 有无毛皮:

  1. g
  2. a
  3. i
  4. n
  5. (
  6. S
  7. ,
  8. A
  9. 3
  10. C
  11. )
  12. =
  13. 0.918
  14. 0.241
  15. =
  16. 0.677
  17. gain(S,A_3|C)=0.918-0.241=0.677
  18. gain(S,A3​∣C)=0.9180.241=0.677

④ 会否游泳:

  1. g
  2. a
  3. i
  4. n
  5. (
  6. S
  7. ,
  8. A
  9. 4
  10. C
  11. )
  12. =
  13. 0.918
  14. 0.874
  15. =
  16. 0.044
  17. gain(S,A_4|C)=0.918-0.874=0.044
  18. gain(S,A4​∣C)=0.9180.874=0.044

因此,最大增益的属性为“有无毛皮”,即以“有无毛皮”作为根节点,并以“有无毛皮”划分

  1. S
  2. S
  3. S 所得子集
  4. S
  5. 1
  6. S_1
  7. S1​,
  8. S
  9. 2
  10. S_2
  11. S2​。

第二步:选择

  1. S
  2. 2
  3. S_2
  4. S2 中增益最大的属性作为“有无毛皮”的子女结点,即选择属性“有无羽毛”。

第三步:选择

  1. S
  2. 2
  3. S_2
  4. S2 中增益最大的属性作为“有无羽毛”的子女结点,即选择属性“是否温血”。

最终,得到样本集的决策树,如下图所示。

在这里插入图片描述

第三题

3、设网球俱乐部有打网球与气候条件的历史统计数据(如下表3)。它共有“天气”、“温度”、“湿度”和“风力”4个描述气候的条件属性,其中“湿度”为连续属性,类别属性为“是”与“否”的二元取值,分别表示在当时的气候条件下是否适宜打球的两种类别。假设湿度离散化为高中低三个等级,湿度值<75被认为湿度为低,湿度>85被认为湿度为高,其他情况湿度为中。请用C4.5算法构造关于气候条件与是否适宜打球的决策树。
表3 打球与气候情况的历史数据样本集S样本id天气温度湿度风力类别样本id天气温度湿度风力类别

  1. X
  2. 1
  3. X_1
  4. X1​晴高95无否
  5. X
  6. 8
  7. X_8
  8. X8​晴中85无否
  9. X
  10. 2
  11. X_2
  12. X2​晴高90无否
  13. X
  14. 9
  15. X_9
  16. X9​晴低70无是
  17. X
  18. 3
  19. X_3
  20. X3​云高85无是
  21. X
  22. 10
  23. X_{10}
  24. X10​雨中75无是
  25. X
  26. 4
  27. X_4
  28. X4​雨中80无是
  29. X
  30. 11
  31. X_{11}
  32. X11​晴中70有是
  33. X
  34. 5
  35. X_5
  36. X5​雨低75无是
  37. X
  38. 12
  39. X_{12}
  40. X12​云中80有是
  41. X
  42. 6
  43. X_6
  44. X6​雨低70有否
  45. X
  46. 13
  47. X_{13}
  48. X13​云高75无是
  49. X
  50. 7
  51. X_7
  52. X7​云低65有是
  53. X
  54. 14
  55. X_{14}
  56. X14​雨中78有否

解:

首先,需要计算每个属性的信息增益,以选择最有用的属性作为根节点。以下是计算信息增益的步骤:

第一步,计算数据集的熵

  1. H
  2. (
  3. D
  4. )
  5. H(D)
  6. H(D):
  7. H
  8. (
  9. D
  10. )
  11. =
  12. (
  13. P
  14. Y
  15. log
  16. 2
  17. P
  18. Y
  19. +
  20. P
  21. N
  22. log
  23. 2
  24. P
  25. N
  26. )
  27. H(D)=-(P_Y\log_2P_Y+P_N\log_2P_N)
  28. H(D)=−(PYlog2PY​+PNlog2PN​) 其中,
  29. P
  30. Y
  31. P_Y
  32. PY​为类别为“是”的样本占比,
  33. P
  34. N
  35. P_N
  36. PN​为类别为“否”的样本占比。

根据样本数据,

  1. P
  2. Y
  3. =
  4. 9
  5. 14
  6. ,
  7. P
  8. N
  9. =
  10. 5
  11. 14
  12. P_Y=\frac{9}{14},P_N=\frac{5}{14}
  13. PY​=149​,PN​=145​,因此:
  14. H
  15. (
  16. D
  17. )
  18. =
  19. (
  20. 9
  21. 14
  22. log
  23. 2
  24. 9
  25. 14
  26. +
  27. 5
  28. 14
  29. log
  30. 2
  31. 5
  32. 14
  33. )
  34. 0.940
  35. H(D)=-\left(\frac{9}{14}\log_2\frac{9}{14}+\frac{5}{14}\log_2\frac{5}{14}\right)\approx0.940
  36. H(D)=−(149log2149​+145log2145​)≈0.940

第二步,对于每个属性

  1. A
  2. A
  3. A,计算其条件熵
  4. H
  5. (
  6. D
  7. A
  8. )
  9. H(D|A)
  10. H(DA):
  11. H
  12. (
  13. D
  14. A
  15. )
  16. =
  17. i
  18. =
  19. 1
  20. n
  21. D
  22. i
  23. D
  24. H
  25. (
  26. D
  27. i
  28. )
  29. H(D|A)=\sum_{i=1}^n\frac{|D_i|}{|D|}H(D_i)
  30. H(DA)=i=1n​∣D∣∣Di​∣​H(Di​)

其中,

  1. n
  2. n
  3. n为属性
  4. A
  5. A
  6. A的取值数,
  7. D
  8. i
  9. |D_i|
  10. Di​∣为样本集中属性
  11. A
  12. A
  13. A取值为第
  14. i
  15. i
  16. i个取值的样本数量,
  17. H
  18. (
  19. D
  20. i
  21. )
  22. H(D_i)
  23. H(Di​)为属性
  24. A
  25. A
  26. A取值为第
  27. i
  28. i
  29. i个取值时的样本的熵。对于离散属性,
  30. H
  31. (
  32. D
  33. i
  34. )
  35. H(D_i)
  36. H(Di​)可以根据与属性
  37. A
  38. A
  39. A的取值相对应的样本计算得出,对于连续属性,需要先对其进行离散化处理。对于本题,我们需要对湿度进行离散化处理。

根据题目要求,湿度离散化为高中低三个等级,湿度值<75被认为湿度为低,湿度>85被认为湿度为高,其他情况湿度为中。因此,可以将样本集中湿度小于75的样本归为“低"类,湿度大于85的样本归为“高"类,其余样本归为“中”类。

对于其他属性,可以直接计算条件熵。以下是每个属性的条件熵计算公式:

① 天气:

  1. H
  2. (
  3. D
  4. 天气
  5. )
  6. =
  7. 5
  8. 14
  9. H
  10. (
  11. D
  12. 1
  13. )
  14. +
  15. 4
  16. 14
  17. H
  18. (
  19. D
  20. 2
  21. )
  22. +
  23. 5
  24. 14
  25. H
  26. (
  27. D
  28. 3
  29. )
  30. H(D|天气)=\frac{5}{14}H(D_1)+\frac{4}{14}H(D_2)+\frac{5}{14}H(D_3)
  31. H(D∣天气)=145H(D1​)+144H(D2​)+145H(D3​) 其中,
  32. D
  33. 1
  34. D_1
  35. D1​为天气为“晴”的样本集,
  36. D
  37. 2
  38. D_2
  39. D2​为天气为“云”的样本集,
  40. D
  41. 3
  42. D_3
  43. D3​为天气为“雨”的样本集。
  44. H
  45. (
  46. D
  47. 1
  48. )
  49. =
  50. (
  51. 2
  52. 5
  53. log
  54. 2
  55. 2
  56. 5
  57. +
  58. 3
  59. 5
  60. log
  61. 2
  62. 3
  63. 5
  64. )
  65. 0.971
  66. H
  67. (
  68. D
  69. 2
  70. )
  71. =
  72. (
  73. 4
  74. 4
  75. log
  76. 2
  77. 4
  78. 4
  79. +
  80. 0
  81. 4
  82. log
  83. 2
  84. 0
  85. 4
  86. )
  87. =
  88. 0
  89. H
  90. (
  91. D
  92. 3
  93. )
  94. =
  95. (
  96. 3
  97. 5
  98. log
  99. 2
  100. 3
  101. 5
  102. +
  103. 2
  104. 5
  105. log
  106. 2
  107. 2
  108. 5
  109. )
  110. 0.971
  111. \begin{align*} H(D_1)&=-\left(\frac{2}{5}\log_2\frac{2}{5}+\frac{3}{5}\log_2\frac{3}{5}\right)\approx0.971\\[2ex] H(D_2)&=-\left(\frac{4}{4}\log_2\frac{4}{4}+\frac{0}{4}\log_2\frac{0}{4}\right)=0\\[2ex] H(D_3)&=-\left(\frac{3}{5}\log_2\frac{3}{5}+\frac{2}{5}\log_2\frac{2}{5}\right)\approx0.971 \end{align*}
  112. H(D1​)H(D2​)H(D3​)​=−(52log252​+53log253​)≈0.971=−(44log244​+40log240​)=0=−(53log253​+52log252​)≈0.971 因此
  113. H
  114. (
  115. D
  116. 天气
  117. )
  118. 0.694
  119. H(D|天气)\approx0.694
  120. H(D∣天气)≈0.694

② 温度:

  1. H
  2. (
  3. D
  4. 温度
  5. )
  6. =
  7. 4
  8. 14
  9. H
  10. (
  11. D
  12. 1
  13. )
  14. +
  15. 4
  16. 14
  17. H
  18. (
  19. D
  20. 2
  21. )
  22. +
  23. 6
  24. 14
  25. H
  26. (
  27. D
  28. 3
  29. )
  30. H(D|温度)=\frac{4}{14}H(D_1)+\frac{4}{14}H(D_2)+\frac{6}{14}H(D_3)
  31. H(D∣温度)=144H(D1​)+144H(D2​)+146H(D3​) 其中,
  32. D
  33. 1
  34. D_1
  35. D1​为温度为“高”的样本集,
  36. D
  37. 2
  38. D_2
  39. D2​为温度为“中”的样本集,
  40. D
  41. 3
  42. D_3
  43. D3​为温度为“低”的样本集。
  44. H
  45. (
  46. D
  47. 1
  48. )
  49. =
  50. (
  51. 2
  52. 4
  53. log
  54. 2
  55. 2
  56. 4
  57. +
  58. 2
  59. 4
  60. log
  61. 2
  62. 2
  63. 4
  64. )
  65. =
  66. 1
  67. H
  68. (
  69. D
  70. 2
  71. )
  72. =
  73. (
  74. 4
  75. 6
  76. log
  77. 2
  78. 4
  79. 6
  80. +
  81. 2
  82. 6
  83. log
  84. 2
  85. 2
  86. 6
  87. )
  88. 0.918
  89. H
  90. (
  91. D
  92. 3
  93. )
  94. =
  95. (
  96. 3
  97. 4
  98. log
  99. 2
  100. 3
  101. 4
  102. +
  103. 1
  104. 4
  105. log
  106. 2
  107. 1
  108. 4
  109. )
  110. 0.811
  111. \begin{align*} H(D_1)&=-\left(\frac{2}{4}\log_2\frac{2}{4}+\frac{2}{4}\log_2\frac{2}{4}\right)=1\\[2ex] H(D_2)&=-\left(\frac{4}{6}\log_2\frac{4}{6}+\frac{2}{6}\log_2\frac{2}{6}\right)\approx0.918\\[2ex] H(D_3)&=-\left(\frac{3}{4}\log_2\frac{3}{4}+\frac{1}{4}\log_2\frac{1}{4}\right)\approx0.811 \end{align*}
  112. H(D1​)H(D2​)H(D3​)​=−(42log242​+42log242​)=1=−(64log264​+62log262​)≈0.918=−(43log243​+41log241​)≈0.811 因此
  113. H
  114. (
  115. D
  116. 温度
  117. )
  118. 0.911
  119. H(D|温度)\approx0.911
  120. H(D∣温度)≈0.911

③ 湿度:

  1. H
  2. (
  3. D
  4. 湿度
  5. )
  6. =
  7. 4
  8. 14
  9. H
  10. (
  11. D
  12. 1
  13. )
  14. +
  15. 8
  16. 14
  17. H
  18. (
  19. D
  20. 2
  21. )
  22. +
  23. 2
  24. 14
  25. H
  26. (
  27. D
  28. 3
  29. )
  30. H(D|湿度)=\frac{4}{14}H(D_1)+\frac{8}{14}H(D_2)+\frac{2}{14}H(D_3)
  31. H(D∣湿度)=144H(D1​)+148H(D2​)+142H(D3​) 其中,
  32. D
  33. 1
  34. D_1
  35. D1​为湿度为“低”的样本集,
  36. D
  37. 2
  38. D_2
  39. D2​为湿度为“中”的样本集,
  40. D
  41. 3
  42. D_3
  43. D3​为湿度为“高”的样本集。

同理可得,

  1. H
  2. (
  3. D
  4. 1
  5. )
  6. 0.811
  7. H(D_1)\approx0.811
  8. H(D1​)≈0.811
  9. H
  10. (
  11. D
  12. 2
  13. )
  14. 0.811
  15. H(D_2)\approx0.811
  16. H(D2​)≈0.811
  17. H
  18. (
  19. D
  20. 3
  21. )
  22. =
  23. 0
  24. H(D_3)=0
  25. H(D3​)=0
  26. H
  27. (
  28. D
  29. 湿度
  30. )
  31. 0.695
  32. H(D|湿度)\approx0.695
  33. H(D∣湿度)≈0.695

④ 风力:

  1. H
  2. (
  3. D
  4. 风力
  5. )
  6. =
  7. 9
  8. 14
  9. H
  10. (
  11. D
  12. 1
  13. )
  14. +
  15. 5
  16. 14
  17. H
  18. (
  19. D
  20. 2
  21. )
  22. H(D|风力)=\frac{9}{14}H(D_1)+\frac{5}{14}H(D_2)
  23. H(D∣风力)=149H(D1​)+145H(D2​) 其中,
  24. D
  25. 1
  26. D_1
  27. D1​为风力为“无”的样本集,
  28. D
  29. 2
  30. D_2
  31. D2​为风力为“有”的样本集。

同理可得,

  1. H
  2. (
  3. D
  4. 1
  5. )
  6. 0.918
  7. H(D_1)\approx0.918
  8. H(D1​)≈0.918
  9. H
  10. (
  11. D
  12. 2
  13. )
  14. 0.971
  15. H(D_2)\approx0.971
  16. H(D2​)≈0.971,
  17. H
  18. (
  19. D
  20. 风力
  21. )
  22. 0.937
  23. H(D|风力)\approx0.937
  24. H(D∣风力)≈0.937

第三步,计算每个属性的信息增益

  1. g
  2. a
  3. i
  4. n
  5. (
  6. D
  7. ,
  8. A
  9. )
  10. gain(D,A)
  11. gain(D,A):
  12. g
  13. a
  14. i
  15. n
  16. (
  17. D
  18. ,
  19. A
  20. )
  21. =
  22. H
  23. (
  24. D
  25. )
  26. H
  27. (
  28. D
  29. A
  30. )
  31. gain(D,A)=H(D)-H(D|A)
  32. gain(D,A)=H(D)−H(DA) 每个属性的信息增益结果如下:

① 天气:

  1. g
  2. a
  3. i
  4. n
  5. (
  6. D
  7. ,
  8. 天气
  9. )
  10. 0.246
  11. gain(D,天气)\approx0.246
  12. gain(D,天气)≈0.246

② 温度:

  1. g
  2. a
  3. i
  4. n
  5. (
  6. D
  7. ,
  8. 温度
  9. )
  10. 0.029
  11. gain(D,温度)\approx0.029
  12. gain(D,温度)≈0.029

③ 湿度:

  1. g
  2. a
  3. i
  4. n
  5. (
  6. D
  7. ,
  8. 湿度
  9. )
  10. 0.245
  11. gain(D,湿度)\approx0.245
  12. gain(D,湿度)≈0.245

④ 风力:

  1. g
  2. a
  3. i
  4. n
  5. (
  6. D
  7. ,
  8. 风力
  9. )
  10. 0.003
  11. gain(D,风力)\approx0.003
  12. gain(D,风力)≈0.003

第四步,计算每个属性的信息增益率。

① 天气:

  1. g
  2. a
  3. i
  4. n
  5. R
  6. a
  7. t
  8. i
  9. o
  10. (
  11. D
  12. ,
  13. 天气
  14. )
  15. =
  16. g
  17. a
  18. i
  19. n
  20. (
  21. D
  22. ,
  23. 天气
  24. )
  25. /
  26. H
  27. (
  28. D
  29. 天气
  30. )
  31. 0.156
  32. gainRatio(D,天气)=gain(D,天气)/H(D|天气)\approx0.156
  33. gainRatio(D,天气)=gain(D,天气)/H(D∣天气)≈0.156

② 温度:

  1. g
  2. a
  3. i
  4. n
  5. R
  6. a
  7. t
  8. i
  9. o
  10. (
  11. D
  12. ,
  13. 温度
  14. )
  15. =
  16. g
  17. a
  18. i
  19. n
  20. (
  21. D
  22. ,
  23. 温度
  24. )
  25. /
  26. H
  27. (
  28. D
  29. 温度
  30. )
  31. 0.019
  32. gainRatio(D,温度)=gain(D,温度)/H(D|温度)\approx0.019
  33. gainRatio(D,温度)=gain(D,温度)/H(D∣温度)≈0.019

③ 湿度:

  1. g
  2. a
  3. i
  4. n
  5. R
  6. a
  7. t
  8. i
  9. o
  10. (
  11. D
  12. ,
  13. 湿度
  14. )
  15. =
  16. g
  17. a
  18. i
  19. n
  20. (
  21. D
  22. ,
  23. 湿度
  24. )
  25. /
  26. H
  27. (
  28. D
  29. 湿度
  30. )
  31. 0.415
  32. gainRatio(D,湿度)=gain(D,湿度)/H(D|湿度)\approx0.415
  33. gainRatio(D,湿度)=gain(D,湿度)/H(D∣湿度)≈0.415

④ 风力:

  1. g
  2. a
  3. i
  4. n
  5. R
  6. a
  7. t
  8. i
  9. o
  10. (
  11. D
  12. ,
  13. 风力
  14. )
  15. =
  16. g
  17. a
  18. i
  19. n
  20. (
  21. D
  22. ,
  23. 风力
  24. )
  25. /
  26. H
  27. (
  28. D
  29. 风力
  30. )
  31. 0.003
  32. gainRatio(D,风力)=gain(D,风力)/H(D|风力)\approx0.003
  33. gainRatio(D,风力)=gain(D,风力)/H(D∣风力)≈0.003

因此,选择信息增益率最大的属性“湿度”作为根节点。将样本集按照湿度的取值划分为三个子集,分别为湿度为“低”的子集

  1. D
  2. 1
  3. D_1
  4. D1​,湿度为“中”的子集
  5. D
  6. 2
  7. D_2
  8. D2​,湿度为“高”的子集
  9. D
  10. 3
  11. D_3
  12. D3​。

第五步,对于每个子集,继续选择最有用的属性作为划分依据,构造子树。以下是构造子树的过程:

在这里插入图片描述
至此,我们已经得到了一棵完整的决策树,可以用于对新样本进行分类。其中,“高”、“中”、“低”表示湿度的不同取值,“有”、“无”表示风力的不同取值,叶子节点的标记“是”表示适宜打球,“否”表示不适宜打球。

第四题

4、设有4个属性14条记录的数据库(如下表4),它记录了顾客身份、年龄、收入和信用等级等个人信息,以及前来商店咨询电脑事宜,其中“电脑”属性标记了一个顾客咨询结束后买了电脑,或者没买就直接离开商店的信息。
表4 记录了14位顾客购买电脑与否的数据库样本id学生年龄收入信用电脑样本id学生年龄收入信用电脑

  1. X
  2. 1
  3. X_1
  4. X1​否≤30岁高一般否
  5. X
  6. 8
  7. X_8
  8. X8​否≤30岁中一般否
  9. X
  10. 2
  11. X_2
  12. X2​否≤30岁高优等否
  13. X
  14. 9
  15. X_9
  16. X9​是≤30岁低一般是
  17. X
  18. 3
  19. X_3
  20. X3​否31~40岁高一般是
  21. X
  22. 10
  23. X_{10}
  24. X10​是≥41岁中一般是
  25. X
  26. 4
  27. X_4
  28. X4​否≥41岁中一般是
  29. X
  30. 11
  31. X_{11}
  32. X11​是≥41岁中优等是
  33. X
  34. 5
  35. X_5
  36. X5​是≥41岁低一般是
  37. X
  38. 12
  39. X_{12}
  40. X12​否31~40岁中优等是
  41. X
  42. 6
  43. X_6
  44. X6​是≥41岁低优等否
  45. X
  46. 13
  47. X_{13}
  48. X13​是31~40岁高一般是
  49. X
  50. 7
  51. X_7
  52. X7​是31~40岁低优等是
  53. X
  54. 14
  55. X_{14}
  56. X14​否≥41岁中优等否

**现在来了一位新顾客

  1. X
  2. =
  3. (
  4. 学生
  5. =
  6. ,
  7. 年龄
  8. 30
  9. ,
  10. 收入等
  11. =
  12. 中等
  13. ,
  14. 信用
  15. =
  16. 一般
  17. )
  18. X=(学生=是, 年龄≤30岁, 收入等=中等, 信用=一般)
  19. X=(学生=是,年龄≤30岁,收入等=中等,信用=一般),试用贝叶斯分类方法,预测顾客
  20. X
  21. X
  22. X 是否会买电脑。**

解:

现在来了一位新顾客

  1. X
  2. =
  3. (
  4. x
  5. 1
  6. ,
  7. x
  8. 2
  9. ,
  10. x
  11. 3
  12. ,
  13. x
  14. 4
  15. )
  16. =
  17. (
  18. 学生
  19. =
  20. “是”
  21. ,
  22. 年龄
  23. =
  24. 30
  25. 岁”
  26. ,
  27. 收入
  28. =
  29. “中”
  30. ,
  31. 信用
  32. =
  33. “一般”
  34. )
  35. X=(x_1,x_2,x_3,x_4)=(学生=“是”,年龄=“≤30岁”,收入=“中”,信用=“一般”)
  36. X=(x1​,x2​,x3​,x4​)=(学生=“是”,年龄=“≤30岁”,收入=“中”,信用=“一般”),试用朴素贝叶斯分类方法,预测顾客
  37. X
  38. X
  39. X是否会买电脑。

由于

  1. S
  2. S
  3. S的类别属性
  4. C
  5. C
  6. C取值为“是”和“否”,因此将
  7. S
  8. S
  9. S分为两个类别集合
  10. C
  11. 1
  12. =
  13. C
  14. =
  15. {
  16. X
  17. 3
  18. ,
  19. X
  20. 4
  21. ,
  22. X
  23. 5
  24. ,
  25. X
  26. 7
  27. ,
  28. X
  29. 9
  30. ,
  31. X
  32. 10
  33. ,
  34. X
  35. 11
  36. ,
  37. X
  38. 12
  39. ,
  40. X
  41. 13
  42. }
  43. C
  44. 2
  45. =
  46. C
  47. =
  48. {
  49. X
  50. 1
  51. ,
  52. X
  53. 2
  54. ,
  55. X
  56. 6
  57. ,
  58. X
  59. 8
  60. ,
  61. X
  62. 14
  63. }
  64. \begin{aligned}&C_1=C_{是}=\{X_3,X_4,X_5,X_7,X_9,X_{10},X_{11},X_{12},X_{13}\}\\[1ex] &C_2=C_{否}=\{X_1,X_2,X_6,X_8,X_{14}\}\end{aligned}
  65. C1​=C是​={X3​,X4​,X5​,X7​,X9​,X10​,X11​,X12​,X13​}C2​=C否​={X1​,X2​,X6​,X8​,X14​}​

(1)计算

  1. p
  2. (
  3. C
  4. 1
  5. )
  6. ,
  7. p
  8. (
  9. C
  10. 2
  11. )
  12. p(C_1),p(C_2)
  13. p(C1​),p(C2​)

由公式

  1. p
  2. (
  3. C
  4. j
  5. )
  6. =
  7. C
  8. j
  9. S
  10. \begin{aligned}p(C_j)=\frac{|C_j|}{|S|}\end{aligned}
  11. p(Cj​)=∣S∣∣Cj​∣​​
  12. p
  13. (
  14. C
  15. 1
  16. )
  17. =
  18. C
  19. 1
  20. S
  21. =
  22. 9
  23. 14
  24. ,
  25. p
  26. (
  27. C
  28. 2
  29. )
  30. =
  31. C
  32. 2
  33. S
  34. =
  35. 5
  36. 14
  37. p(C_1)=\frac{|C_1|}{|S|}=\frac{9}{14}\ ,\ \ p(C_2)=\frac{|C_2|}{|S|}=\frac{5}{14}
  38. p(C1​)=∣S∣∣C1​∣​=149 , p(C2​)=∣S∣∣C2​∣​=145

(2)计算

  1. p
  2. (
  3. X
  4. C
  5. 1
  6. )
  7. p(X|C_1)
  8. p(XC1​)

由公式

  1. p
  2. (
  3. X
  4. C
  5. 1
  6. )
  7. =
  8. k
  9. =
  10. 1
  11. 4
  12. p
  13. (
  14. x
  15. k
  16. C
  17. 1
  18. )
  19. \begin{aligned}p(X|C_1)=\prod_{k=1}^{4}p(x_k|C_1)\end{aligned}
  20. p(XC1​)=k=14p(xk​∣C1​)​
  21. p
  22. (
  23. x
  24. 1
  25. C
  26. 1
  27. )
  28. =
  29. S
  30. 11
  31. C
  32. 1
  33. =
  34. 6
  35. 9
  36. ,
  37. p
  38. (
  39. x
  40. 2
  41. C
  42. 1
  43. )
  44. =
  45. S
  46. 12
  47. C
  48. 1
  49. =
  50. 1
  51. 9
  52. p
  53. (
  54. x
  55. 3
  56. C
  57. 1
  58. )
  59. =
  60. S
  61. 13
  62. C
  63. 1
  64. =
  65. 4
  66. 9
  67. ,
  68. p
  69. (
  70. x
  71. 4
  72. C
  73. 1
  74. )
  75. =
  76. S
  77. 14
  78. C
  79. 1
  80. =
  81. 5
  82. 9
  83. p(x_1|C_1)=\frac{|S_{11}|}{|C_1|}=\frac{6}{9}\ ,\ \ p(x_2|C_1)=\frac{|S_{12}|}{|C_1|}=\frac{1}{9}\\[2ex] p(x_3|C_1)=\frac{|S_{13}|}{|C_1|}=\frac{4}{9}\ ,\ \ p(x_4|C_1)=\frac{|S_{14}|}{|C_1|}=\frac{5}{9}
  84. p(x1​∣C1​)=∣C1​∣∣S11​∣​=96 , p(x2​∣C1​)=∣C1​∣∣S12​∣​=91p(x3​∣C1​)=∣C1​∣∣S13​∣​=94 , p(x4​∣C1​)=∣C1​∣∣S14​∣​=95 因此,
  85. p
  86. (
  87. X
  88. C
  89. 1
  90. )
  91. =
  92. 6
  93. 9
  94. ×
  95. 1
  96. 9
  97. ×
  98. 4
  99. 9
  100. ×
  101. 5
  102. 9
  103. 0.0183
  104. \begin{aligned}p(X|C_1)=\frac{6}{9\frac{1}{9\frac{4}{9\frac{5}{9}\approx0.0183\end{aligned}
  105. p(XC1​)=96​×91​×94​×95​≈0.0183

(3)计算

  1. p
  2. (
  3. X
  4. C
  5. 2
  6. )
  7. p(X|C_2)
  8. p(XC2​)

由公式

  1. p
  2. (
  3. X
  4. C
  5. 2
  6. )
  7. =
  8. k
  9. =
  10. 1
  11. 4
  12. p
  13. (
  14. x
  15. k
  16. C
  17. 2
  18. )
  19. \begin{aligned}p(X|C_2)=\prod_{k=1}^{4}p(x_k|C_2)\end{aligned}
  20. p(XC2​)=k=14p(xk​∣C2​)​
  21. p
  22. (
  23. x
  24. 1
  25. C
  26. 2
  27. )
  28. =
  29. S
  30. 21
  31. C
  32. 2
  33. =
  34. 1
  35. 5
  36. ,
  37. p
  38. (
  39. x
  40. 2
  41. C
  42. 2
  43. )
  44. =
  45. S
  46. 22
  47. C
  48. 2
  49. =
  50. 3
  51. 5
  52. p
  53. (
  54. x
  55. 3
  56. C
  57. 2
  58. )
  59. =
  60. S
  61. 23
  62. C
  63. 2
  64. =
  65. 2
  66. 5
  67. ,
  68. p
  69. (
  70. x
  71. 4
  72. C
  73. 2
  74. )
  75. =
  76. S
  77. 24
  78. C
  79. 2
  80. =
  81. 2
  82. 5
  83. p(x_1|C_2)=\frac{|S_{21}|}{|C_2|}=\frac{1}{5}\ ,\ \ p(x_2|C_2)=\frac{|S_{22}|}{|C_2|}=\frac{3}{5}\\[2ex] p(x_3|C_2)=\frac{|S_{23}|}{|C_2|}=\frac{2}{5}\ ,\ \ p(x_4|C_2)=\frac{|S_{24}|}{|C_2|}=\frac{2}{5}
  84. p(x1​∣C2​)=∣C2​∣∣S21​∣​=51 , p(x2​∣C2​)=∣C2​∣∣S22​∣​=53p(x3​∣C2​)=∣C2​∣∣S23​∣​=52 , p(x4​∣C2​)=∣C2​∣∣S24​∣​=52 因此,
  85. p
  86. (
  87. X
  88. C
  89. 2
  90. )
  91. =
  92. 1
  93. 5
  94. ×
  95. 3
  96. 5
  97. ×
  98. 2
  99. 5
  100. ×
  101. 2
  102. 5
  103. =
  104. 0.0192
  105. \begin{aligned}p(X|C_2)=\frac{1}{5\frac{3}{5\frac{2}{5\frac{2}{5}=0.0192\end{aligned}
  106. p(XC2​)=51​×53​×52​×52​=0.0192

(4)求最大

  1. p
  2. (
  3. X
  4. C
  5. i
  6. )
  7. p
  8. (
  9. C
  10. i
  11. )
  12. p(X|C_i)p(C_i)
  13. p(XCi​)p(Ci​)
  14. p
  15. (
  16. X
  17. C
  18. 1
  19. )
  20. p
  21. (
  22. C
  23. 1
  24. )
  25. =
  26. 0.0183
  27. ×
  28. 9
  29. 14
  30. 0.0118
  31. p
  32. (
  33. X
  34. C
  35. 2
  36. )
  37. p
  38. (
  39. C
  40. 2
  41. )
  42. =
  43. 0.0192
  44. ×
  45. 5
  46. 14
  47. 0.0069
  48. p(X|C_1)p(C_1)=0.0183×\frac{9}{14}\approx0.0118\\[2ex] p(X|C_2)p(C_2)=0.0192×\frac{5}{14}\approx0.0069
  49. p(XC1​)p(C1​)=0.0183×149​≈0.0118p(XC2​)p(C2​)=0.0192×145​≈0.0069 根据公式
  50. p
  51. (
  52. X
  53. C
  54. i
  55. )
  56. p
  57. (
  58. C
  59. i
  60. )
  61. =
  62. m
  63. a
  64. x
  65. {
  66. p
  67. (
  68. X
  69. C
  70. 1
  71. )
  72. p
  73. (
  74. C
  75. 1
  76. )
  77. ,
  78. p
  79. (
  80. X
  81. C
  82. 2
  83. )
  84. P
  85. (
  86. C
  87. 2
  88. )
  89. ,
  90. ,
  91. p
  92. (
  93. X
  94. C
  95. k
  96. )
  97. p
  98. (
  99. C
  100. k
  101. )
  102. }
  103. p(X|C_i)p(C_i)=max\{p(X|C_1)p(C_1), p(X|C_2)P(C_2), \cdots, p(X|C_k)p(C_k)\}
  104. p(XCi​)p(Ci​)=max{p(XC1​)p(C1​),p(XC2​)P(C2​),⋯,p(XCk​)p(Ck​)}
  105. m
  106. a
  107. x
  108. {
  109. p
  110. (
  111. X
  112. C
  113. 1
  114. )
  115. p
  116. (
  117. C
  118. 1
  119. )
  120. ,
  121. p
  122. (
  123. X
  124. C
  125. 2
  126. )
  127. P
  128. (
  129. C
  130. 2
  131. )
  132. }
  133. =
  134. p
  135. (
  136. X
  137. C
  138. 1
  139. )
  140. p
  141. (
  142. C
  143. 1
  144. )
  145. max\{p(X|C_1)p(C_1), p(X|C_2)P(C_2)\}=p(X|C_1)p(C_1)
  146. max{p(XC1​)p(C1​),p(XC2​)P(C2​)}=p(XC1​)p(C1​) 即把类别标号
  147. C
  148. 1
  149. =
  150. “是”
  151. C_1=“是”
  152. C1​=“是” 赋予
  153. X
  154. X
  155. X

因此,根据朴素贝叶斯分类方法,预测顾客

  1. X
  2. X
  3. X会买电脑。

本文转载自: https://blog.csdn.net/Morse_Chen/article/details/138817926
版权归原作者 Francek Chen 所有, 如有侵权,请联系我们删除。

“数据仓库作业六:第9章 分类规则挖掘”的评论:

还没有评论