數據挖掘感念與技術第三版-----------課后習題(部分)


第二章

2.2假設所分析的數據包括屬性age,它在數據元組中的值(以遞增序)為13,15,16,16,19,20,20,21,22,22,25,25,25,25,30,33,33,35,35,35,35,36,40,45,46,52,70.

(a)該數據的均值是多少?中位數是什么?

import numpy as np
age = [13,15,16,16,19,20,20,21,22,22,25,25,25,25,30,33,33,35,35,35,35,36,40,45,46,52,70]
#均值
print('均值為:',np.average(age))
#中位數
print('中位數:',np.median(age))

該數的均值為29.963,中位數為25

(b)該數據的眾數是什么?該數據的模態(即二模、三模等)。

import numpy as np
age = [13,15,16,16,19,20,20,21,22,22,25,25,25,25,30,33,33,35,35,35,35,36,40,45,46,52,70]
#眾數
print('眾數:',stats.mode(age)[0][0])

該數的眾數為25和35,即該數據是一個雙峰的分布,即二模。

(c)該數據的中列數是多少?

該數的中列數是(70+13)/2=41.5

         (d)你能(粗略地)找出該數據的第一個四分位(Q1)和第三個四分位數(Q3)嗎?

第一個四分位數為:⌈27/4⌉=7處,Q1 = 20,第三個四分位數為:⌈27/4⌉ * 3 = 21處,Q3 = 35

(e)給出該數據的五數概括

五數概括:中位數(Q2)、四分位數(Q1)和(Q3)、最小值、最大值組成

(f)繪制該數據的盒圖

import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
import matplotlib
age = [13,15,16,16,19,20,20,21,22,22,25,25,25,25,30,33,33,35,35,35,35,36,40,45,46,52,70]
#盒圖
df = pd.DataFrame(age)
df.plot.box(title = 'boxplot of age')
plt.grid(linestyle='--',alpha=0.3)
plt.show()

(g)分位數—分位數圖分位數圖有何不同?

2.3   設給定的數據集已經分組到區間。這些區間和對應頻率如下所示:

age frequency
1~5 200
6~15 450
16~20 300
21~50 1500
51~80 700
81~110 44

計算該數據的近似中位數

N = 200 + 450 + 300 + 1500 + 700 + 44 = 3194  (∑frequence)l = 950    (frequence)median = 1500   

則median = 21 + (N/2 - (∑frequence)l))/(renquence) * 30 = 33.94    中位數33.94位於21~50區間

2.4假設醫院對18個隨機挑選的成年人檢查年齡和身體肥胖,得到如下結果:

age 23 23 27 27 39 41 47 49 50
%fat 9.5 26.5 7.8 17.8 31.4 25.9 27.4 27.2 31.2

 

age 52 54 54 56 57 58 58 60 61
%fat 34.6 42.5 28.8 33.4 30.2 34.1 32.9 41.2 35.7

(a)計算age和%fat的均值中位數標准差

import numpy as np
age = [23,23,27,27,39,41,47,49,50,52,54,54,56,57,58,58,60,61]
fat = [9.5,26.5,7.8,17.8,31.4,25.9,27.4,27.2,31.2,34.6,42.5,28.8,33.4,30.2,34.1,32.9,41.2,35.7]
#均值
print('age的均值為:'np.agerage(age))
print('%fat的均值為:'average(fat))
#中位數
print('age的中位數為:'np.median(age))
print('%fat的中位數為:'np.median(fat))
#標准差
print('age的標准差為:'np.sqrt(sun(pow(age-np.average(age),2))))
print('%fat的標准差為:'np.sqrt(sum(pow(fat-np.average(fat),2))))

age的平均值為:46.44,中位數為:51,標准差為:13.22

fat的平均值為:28.78,中位數為:30.7,標准差為:9.25

(b)繪制age和%fat的盒圖

import matplotlib.pyplot as plt
import statsmodels.api as sm
import matplotlib
age = [23,23,27,27,39,41,47,49,50,52,54,54,56,57,58,58,60,61]
fat = [9.5,26.5,7.8,17.8,31.4,25.9,27.4,27.2,31.2,34.6,42.5,28.8,33.4,30.2,34.1,32.9,41.2,35.7]
#age盒圖
df = pd.DataFrame(age)
df.plot.box(title = 'boxplot of age')
plt.grid(linestyle='--',alpha=0.3)
plt.show()
#%fat盒圖
df = pd.DataFrame(fat)
df.plot.box(title = 'boxplot of %fat')
plt.grid(linestyle='--',alpha=0.3)
plt.show()

(c)繪制基於這兩個變量的散點圖q-q圖

from scipy import stats
import matplotlib.pyplot as plt
import statsmodels.api as sm
import matplotlib
#散點圖
plt.title('age-%fat')
plt.scatter(age,fat,alpha=0.6)
plt.show()

2.6給定兩個被元組(22,1,42,10)和(20,0,36,8)表示的對象。

(a)計算這兩個對象之間的歐幾里得距離

 

(b)計算這兩個對象之間的曼哈頓距離

(c)使用q = 3,計算這兩個對象之間的閔可夫斯基距離

(d)計算這兩個對象之間的上確界距離


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM