鲍鱼数据集的可视化展示
寫在開頭:這篇文章有別于上次的巖石與雷的分類問題,是個回歸數(shù)據(jù)集的展示。我們將運用到之前的工具對這個數(shù)據(jù)集進行一些可視化。
關(guān)于數(shù)據(jù)集:數(shù)據(jù)集的來源同樣是UCI庫。
性別(M,F,I)由于鮑魚年幼時分辨不出該屬性,所以有三個類別。
長度 單位毫米
直徑 單位毫米
高度 單位毫米
總重量
剝殼重量
內(nèi)臟重量
殼重
環(huán)的數(shù)量 (整型 +1.5用于預(yù)測鮑魚年齡)
鮑魚的年齡是通過切割貝殼通過錐體,染色并通過顯微鏡計數(shù)環(huán)數(shù)來確定的。
任務(wù)是預(yù)測環(huán)數(shù),從而預(yù)測鮑魚的年齡。
import pandas as pd import numpy as np import matplotlib.pyplot as plt #列出數(shù)據(jù)的概況 url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data' data = pd.read_csv(url,prefix='x',header=None) head = data.head() print(head) print('-----------------------------------------------------------') tail = data.tail() print(tail) summary = data.describe() print(summary)
輸出:
通過數(shù)據(jù)的統(tǒng)計信息比較不同位數(shù)之間的差異以及其他一些參數(shù)來發(fā)現(xiàn)異常數(shù)據(jù)。
這里提供一種更加直觀的方法:箱線圖
關(guān)于箱線圖,參考了這篇文章 箱線圖
輸出:
這里的效果還不是很好,由圖像可以發(fā)現(xiàn),由于最后一列(環(huán)數(shù))的取值范圍,導(dǎo)致其他屬性的箱線圖被壓縮,展示出來的效果不是很好。初步解決方法使可以剔除這一列,重新作圖。
輸出:
這里效果還沒達到。試試特征縮放,應(yīng)該可行。。
輸出:
至此可以看到我們的數(shù)據(jù)異常點還是不少。。
鮑魚數(shù)據(jù)的變量關(guān)系可視化:(水平座標圖)
每個樣本對應(yīng)一條折線,每個屬性對應(yīng)一個點。
輸出:
上圖描述的使鮑魚年齡(環(huán)數(shù))和用于預(yù)測年齡的屬性(性別除外)的屬性之間的關(guān)系。
不得不說數(shù)據(jù)可視化還是挺有意思的。
import sklearn.datasets as ds import pandas as pd import matplotlib.pyplot as plt iris = ds.load_iris() x_name = iris.feature_names #['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] x = iris.data #shape (150, 4) y = iris.target #鳶尾花水平座標圖,不同類別的做了顏色區(qū)分 plt.figure(figsize=(10,6)) for i in range(150):if y[i] == 0:lcolor = 'red'elif y[i] == 1:lcolor = 'blue'else:lcolor = 'orange'line = x[i,:]plt.plot(line,color = lcolor) plt.show() import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False plt.figure(figsize=(12,10)) plt.subplot(221) for i in range(150):x1 = x[i,0]plt.scatter(x1,y[i]) plt.title('變量1與最終目標的相關(guān)性')plt.subplot(222) for i in range(150):x1 = x[i,1]plt.scatter(x1,y[i]) plt.title('變量2與最終目標的相關(guān)性')plt.subplot(223) for i in range(150):x1 = x[i,2]plt.scatter(x1,y[i]) plt.title('變量3與最終目標的相關(guān)性')plt.subplot(224) for i in range(150):x1 = x[i,3]plt.scatter(x1,y[i]) plt.title('變量4與最終目標的相關(guān)性')plt.show()這個結(jié)果還是有點奇怪的好像,后續(xù)再學(xué)習(xí)學(xué)習(xí)
總結(jié)
以上是生活随笔為你收集整理的鲍鱼数据集的可视化展示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据分析——“鲍鱼的年龄”数据集
- 下一篇: 鲍鱼数据案例(岭回归 、LASSO回归)