import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from pandas import dataframe
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.decomposition import pca
from sklearn.model_selection import train_test_split
from sklearn.svm import svc
from sklearn.metrics import accuracy_score
#調入資料
iris=load_iris()
#sklearn對資料集作介紹
print(iris.descr)
#提取資料集內容
iris_data=iris.data
feature_names=iris.feature_names
iris_target=iris.target
#格式整理
iris_target.shape=(150,1)
iris_all=np.hstack((iris_data,iris_target))
#轉化為dataframe
iris_data_df=dataframe(iris_data,columns=feature_names)
iris_target_df=dataframe(iris_target,columns=['target'])
iris_data_all_df=dataframe(iris_all,columns=feature_names+['target'])
print(iris_data_all_df.head())#預設為前5行
print(iris_data_all_df.tail())#預設為後5行
print(iris_data_all_df.sample(5))#隨機抽取5行
print(iris_data_all_df.shape)#大小
print(iris_data_all_df.dtypes)#型別
print(iris_data_all_df.info())#多資訊
print(iris_data_all_df.describe())#常見統計量的描述
sns.boxplot(data=iris_data_df)#製作箱圖
plt.show()
plt.plot(iris_data_df)
plt.legend(feature_names)
plt.show()
#為了便於觀察,也可以做出部分資料的圖
#sepal
sepal_data_df=iris_data_df[['sepal length (cm)','sepal width (cm)']]
plt.plot(sepal_data_df)
plt.legend(['sepal length(cm)','sepal width(cm)'])
plt.title('sepal data')
plt.show()
#資料降維
#用協方差來表示變數之間的關係並視覺化
corr_mat=iris_data_df.corr()
mat_img=plt.matshow(corr_mat,cmap=plt.cm.winter_r)
plt.colorbar(mat_img,ticks=[-1,0,1])
plt.show()
#可從上圖看到第二個特徵與其他幾個特徵的關係不大,所以可以選擇將資料降為二維(當然三維和一維也是可以的,主要要取決於想要保留原來多少資訊量)
#降維pca=pca(n_components=2)
pca_2c=pca.fit_transform(iris_data_df)
print(pca.explained_variance_ratio_)
print(pca.explained_variance_ratio_.sum())
plt.scatter(pca_2c[:,0],pca_2c[:,1],c=np.array(iris_target_df),alpha=0.8,cmap=plt.cm.winter)
#plt.show()
EDA 探索性資料分析
引導資料科學從業者進行資料處理以及特徵工程的步驟,使資料集的結構和特徵集讓接下來的 問題更加可靠。值得注意的是,eda過程中是對原始資料的特徵 統計特徵 分布特徵 相關性等 進行挖掘,但是沒有刪除或構造任何特徵 花式查詢,不包括增 刪 改 1 載入各種資料科學以及視覺化庫 資料科學庫 pandas ...
EDA(探索性資料分析)
1 什麼是eda分析?exploratory data analysis 在特徵 資料處理的過程中,對資料進行探索,找到他們之間的更多潛在關係。2 怎麼去做eda分析?主要是通過資料視覺化來顯示資料之間的關聯,從而對資料進行處理。首先,我們應該思考的是是否會出現下列問題 1 資料是否缺失,有沒有離群...
資料探勘 探索性資料分析 EDA (補充)
去敏資料已經在之前有過介紹了,指為了保護資料,消除特徵的意義。而對這類資料就無法根據業務知識,進行特徵的建立。另外,我們得到的資料一般是原始資料通過變換得到的,變換的方式有很多種。本文主要針對通過乘除對資料進行縮放,然後通過加減對資料進行平移的這種資料還原。以下是從網上找到的乙個案例 首先介紹下,這...