成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對(duì)于非結(jié)構(gòu)化數(shù)據(jù),EDA探索性數(shù)據(jù)分析該怎么做?

大數(shù)據(jù) 數(shù)據(jù)分析
本文的討論到此結(jié)束。當(dāng)然,在EDA中還有很多技術(shù)比本文在這里介紹的要多得多,這取決于用戶在問(wèn)題陳述中要使用的數(shù)據(jù)集。

探索性數(shù)據(jù)分析是機(jī)器學(xué)習(xí)開(kāi)發(fā)生命周期的關(guān)鍵階段之一,在任何現(xiàn)實(shí)生活中的數(shù)據(jù)分析項(xiàng)目中,它幾乎占用了整個(gè)項(xiàng)目50-60%的時(shí)間,因?yàn)槲覀儽仨氂脕?lái)尋找洞察力的數(shù)據(jù)是原始數(shù)據(jù),在應(yīng)用機(jī)器學(xué)習(xí)算法之前必須進(jìn)行處理,以獲得最佳性能。這個(gè)步驟必須包括以下內(nèi)容:

  1. 涉及更好地分析和總結(jié)數(shù)據(jù)集,以了解其潛在的模式、關(guān)系和趨勢(shì)。
  2. 識(shí)別基本的數(shù)據(jù)特征,檢測(cè)異?;虍惓V?,并確定最合適的建模技術(shù)來(lái)預(yù)測(cè)未來(lái)的結(jié)果。

讓我們通過(guò)一個(gè)故事來(lái)理解EDA在數(shù)據(jù)分析中的意義。

從一個(gè)故事理解EDA的重要性

一家小公司剛剛在市場(chǎng)上開(kāi)展業(yè)務(wù)。這家公司有一群對(duì)自己的角色充滿熱情的專業(yè)人士,他們以一種方式工作使整個(gè)公司都能獲利。隨著公司開(kāi)始在員工或用戶方面增加對(duì)其推廣產(chǎn)品的了解,管理團(tuán)隊(duì)意識(shí)到,他們需要幫助了解用戶或客戶對(duì)公司提供的產(chǎn)品或服務(wù)的需求和行為。

為了克服這個(gè)問(wèn)題,他們開(kāi)始聘請(qǐng)一些技術(shù)專業(yè)人員。最終,他們?cè)跀?shù)據(jù)分析師的職位下找到了一個(gè)技術(shù)人員,以便他們能夠更好地了解客戶數(shù)據(jù)。該分析師將能夠從中找到重要的信息或見(jiàn)解。他們聘請(qǐng)的分析師在他們主要從事探索性數(shù)據(jù)分析的同一類型技術(shù)或項(xiàng)目中具有良好的實(shí)踐經(jīng)驗(yàn)。

因此,對(duì)于這個(gè)問(wèn)題,他們開(kāi)始通過(guò)網(wǎng)絡(luò)抓取從多個(gè)API收集數(shù)據(jù),其中包括公司網(wǎng)站、社交媒體、論壇等。收集完數(shù)據(jù)后,他們開(kāi)始清理和處理數(shù)據(jù),以便他們能夠從這些數(shù)據(jù)中找到一些見(jiàn)解。他們使用統(tǒng)計(jì)技術(shù)如假設(shè)測(cè)試和商業(yè)智能工具來(lái)探索數(shù)據(jù),并使用模式識(shí)別技術(shù)發(fā)現(xiàn)隱藏的模式。

在建立管道后,他們觀察到公司的客戶對(duì)購(gòu)買環(huán)保和可持續(xù)的產(chǎn)品最感興趣。公司管理層基于這些見(jiàn)解推出了環(huán)保和可持續(xù)的產(chǎn)品。于是,基于這些更新,新產(chǎn)品得到了客戶的喜歡,最終,公司的收入開(kāi)始成倍增長(zhǎng)。管理層已經(jīng)開(kāi)始意識(shí)到探索性數(shù)據(jù)分析的重要性,并聘請(qǐng)了更多的數(shù)據(jù)分析師。

因此,在本文中,受上述故事的啟發(fā),我們將了解管道的探索性數(shù)據(jù)分析階段里面的不同技術(shù),并在這個(gè)過(guò)程中使用流行的工具。本文為初學(xué)者和有經(jīng)驗(yàn)的數(shù)據(jù)分析師提供了EDA的全面概述及其在數(shù)據(jù)科學(xué)中的重要性。

實(shí)施的不同技術(shù)

為了理解EDA內(nèi)部使用的每一種技術(shù),本文將研究一個(gè)數(shù)據(jù)集,并使用用于數(shù)據(jù)科學(xué)的Python庫(kù)(例如NumPy、Pandas、Matplotlib等)來(lái)實(shí)現(xiàn)分析。

本文將在分析中使用的數(shù)據(jù)集是Titanic數(shù)據(jù)集,它可以從這里(https://www.kaggle.com/c/titanic/data)下載。本文將使用train.csv進(jìn)行模型訓(xùn)練。

1.導(dǎo)入必要的庫(kù)和依賴項(xiàng)

在實(shí)施之前,首先導(dǎo)入必要的庫(kù),本文將利用這些庫(kù)來(lái)實(shí)現(xiàn)不同的EDA技術(shù),包括:

  1. 用于矩陣操作的NumPy
  2. 用于數(shù)據(jù)分析的Pandas
  3. 用于數(shù)據(jù)可視化的Matplotlib和Seaborn
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb

2.加載和分析數(shù)據(jù)集

在導(dǎo)入所有需要的庫(kù)之后,我們將使用Pandas dataframe加載Titanic數(shù)據(jù)集。然后我們可以開(kāi)始執(zhí)行不同的數(shù)據(jù)預(yù)處理技術(shù),為進(jìn)一步建模和歸納準(zhǔn)備數(shù)據(jù)。

passenger_data = pd.read_csv('titanic.csv')
passenger_data.head(5)

輸出:

圖片

圖 1

3.獲取統(tǒng)計(jì)摘要

下面的分析為我們提供了數(shù)據(jù)中所有數(shù)值列的統(tǒng)計(jì)數(shù)據(jù)。我們可以從這個(gè)函數(shù)中得到的統(tǒng)計(jì)數(shù)據(jù)是:

  1. 計(jì)數(shù)
  2. 平均數(shù)和中位數(shù)
  3. 標(biāo)準(zhǔn)偏差
  4. 最小值和最大值
  5. 不同的四分位數(shù)值
passenger_data.describe()

輸出:

圖片

圖 2

通過(guò)解釋上述輸出,我們可以看到有891名乘客,平均存活率為38%。年齡欄的最小值和最大值在0.42至80之間,平均年齡約為30歲。另外,至少有50%的乘客沒(méi)有兄弟姐妹/配偶,至少有75%的乘客沒(méi)有父母/子女,票價(jià)一欄的數(shù)值也有很大變化。

讓我們?cè)囍ㄟ^(guò)從頭開(kāi)始編寫代碼來(lái)計(jì)算生存率。

4.計(jì)算乘客的總體存活率

為了計(jì)算總體存活率,首先選擇Survived列,檢查數(shù)值為1的行,然后計(jì)算所有這些行。最后,為了找到百分比,我們將用它除以總行數(shù)并輸出結(jié)果。

survived_data = passenger_data[passenger_data['Survived'] == 1]
survived = survived_data.count().values[1]
survival_percent = (survived/891) * 100
print('The percentage of survived people in training data are {}'.format(survival_percent))

輸出:

The percentage of survived people in training data are 38.38383838383838

5.按gender和Pclass列計(jì)算存活率

現(xiàn)在,我們必須用聚合運(yùn)算找到不同列的存活率,我們將使用gender和 Pclass列,然后應(yīng)用均值函數(shù)來(lái)找到它,然后輸出結(jié)果。

survival_rate = passenger_data[['Pclass', 'Sex','Survived']].groupby(['Pclass', 'Sex'], as_index = False).mean().sort_values('Survived', ascending = False)
print(survival_rate)

輸出:

Pclass     Sex  Survived
0       1  female  0.968085
2       2  female  0.921053
4       3  female  0.500000
1       1    male  0.368852
3       2    male  0.157407
5       3    male  0.135447

6.將Passenger Id、Survived、Pclass的數(shù)據(jù)類型改為String。

由于某些列具有不同的數(shù)據(jù)類型,我們將所有這些列轉(zhuǎn)換為一個(gè)固定數(shù)據(jù)類型。即String(字符串)。

Cols = [ 'PassengerId', 'Survived', 'Pclass' ]
for index in Cols:
     passenger_data[index] = passenger_data[index].astype(str)
passenger_data.dtypes

7.數(shù)據(jù)集中重復(fù)的行

在進(jìn)行數(shù)據(jù)建模時(shí),如果存在重復(fù)的行,我們的性能可能會(huì)下降。因此,始終建議刪除重復(fù)的行。

passenger_data.loc[passenger_data.duplicated(), :]

8.創(chuàng)建直方圖以檢查數(shù)據(jù)分布情況

為了根據(jù)該列的可能值找到幸存列的分布,以便我們可以檢查類偏差,如果有任何問(wèn)題,我們可以應(yīng)用諸如過(guò)量取樣、欠量取樣、SMOTE等技術(shù)來(lái)克服該問(wèn)題。

sb.set_style("white")
g = sb.FacetGrid(data = train[train['Age'].notna()], col = 'Survived')
g.map(plt.hist, "Age");

輸出:

圖片

圖 3

現(xiàn)在,如果我們比較上述兩個(gè)分布,那么建議使用相對(duì)頻率,而不是使用累積密度函數(shù)等的絕對(duì)頻率。由于我們以年齡一欄為例,具有絕對(duì)頻率的直方圖表明,在20-30歲的年齡組中受害者比幸存者多得多。

9.按生存值繪制年齡中缺失值百分比圖

在這里,我們創(chuàng)建了餅狀圖來(lái)尋找按生存值計(jì)算的缺失值的百分比,然后查看分區(qū)。

dt0 = train['Age'][train['Survived']=='0']
dt1 = train['Age'][train['Survived']=='1']
plt.figure(figsize = [15, 5])

plt.subplot(1, 2, 1)
age_na_pie(dt0)
plt.title('Survived: No');

plt.subplot(1, 2, 2)
age_na_pie(dt1)
plt.title('Survived: Yes');

輸出:

圖片

圖 4

餅狀圖顯示,年齡缺失的乘客更有可能成為受害者。

10.尋找每一列中的缺失值數(shù)量

passenger_data.isnull().sum()

從輸出結(jié)果中,可以觀察到Cabin列具有最大的缺失值,所以我們將從分析中刪除該列。

11.每列空值的百分比

passenger_data.isna().sum()/passenger_data.shape[0]

在Age一欄中,大約有20%的數(shù)據(jù)缺失,Cabin一欄中大約有77%的數(shù)據(jù)缺失,Embarked一欄中有0.2%的數(shù)據(jù)缺失。我們的目的是在建模之前處理缺失的數(shù)據(jù)。

12.從數(shù)據(jù)集中刪除Cabin一列

刪除Cabin這一列,因?yàn)樗泻芏嗳笔У闹怠?/p>

drop_column = passenger_data.drop(labels = ['Cabin'], axis = 1)
print(drop_column)

為了處理Age列,首先,我們將檢查Age列的數(shù)據(jù)類型并將其轉(zhuǎn)換為整數(shù)數(shù)據(jù)類型,然后用Age列的中位數(shù)來(lái)填補(bǔ)Age列中所有的缺失值。

datatype = passenger_data.info('Age')
fill_values = passenger_data['Age'].fillna(int(passenger_data['Age'].median()),inplace=True)
print(fill_values)

在這之后,數(shù)據(jù)集在缺失值、離群值等方面看起來(lái)不錯(cuò)?,F(xiàn)在,如果我們應(yīng)用機(jī)器學(xué)習(xí)算法來(lái)查找數(shù)據(jù)集中的模式,然后在測(cè)試數(shù)據(jù)上進(jìn)行測(cè)試,與沒(méi)有預(yù)處理和探索性數(shù)據(jù)分析或數(shù)據(jù)處理的數(shù)據(jù)相比,模型的性能會(huì)更強(qiáng)。

來(lái)自EDA的收獲

以下是幸存者與受害者相比的特征:

  • 幸存者很可能有父母或子女陪伴;與其他人相比,他們的機(jī)票更貴。
  • 與所有年齡段的受害者相比,兒童更有可能存活下來(lái)。
  • 年齡缺失的乘客成為幸存者的可能性較小。
  • pclass(SES)較高的乘客更有可能存活下來(lái)。
  • 女性比男性更有可能存活下來(lái)。
  • Cherbourg的乘客比Queenstown和Southampto的乘客有更高的生存機(jī)會(huì)。

總結(jié)

本文的討論到此結(jié)束。當(dāng)然,在EDA中還有很多技術(shù)比本文在這里介紹的要多得多,這取決于用戶在問(wèn)題陳述中要使用的數(shù)據(jù)集??偠灾?,EDA在使用數(shù)據(jù)來(lái)訓(xùn)練模型之前,了解數(shù)據(jù)是有益的。這種技術(shù)在任何數(shù)據(jù)科學(xué)項(xiàng)目中都起著至關(guān)重要的作用,使簡(jiǎn)單模型在項(xiàng)目中使用時(shí)能有更好的表現(xiàn)。因此,每個(gè)有抱負(fù)的數(shù)據(jù)科學(xué)家、數(shù)據(jù)分析師、機(jī)器學(xué)習(xí)工程師和分析經(jīng)理都需要正確了解這些技術(shù)。

責(zé)任編輯:武曉燕 來(lái)源: Python學(xué)研大本營(yíng)
相關(guān)推薦

2020-05-13 11:32:28

數(shù)據(jù)分析數(shù)值分析

2023-11-30 07:23:53

數(shù)據(jù)分析EDA

2023-12-22 09:14:48

EDA數(shù)據(jù)分析探索性數(shù)據(jù)分析

2020-10-28 18:28:12

Pandas數(shù)據(jù)分析GUI

2022-11-11 11:35:14

2017-04-25 18:35:47

硅谷數(shù)據(jù)科學(xué)家數(shù)據(jù)分析

2024-06-12 11:57:51

2024-07-30 12:10:22

2023-07-29 22:27:44

2018-04-03 14:00:03

結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)庫(kù)

2024-05-21 13:33:49

2016-10-11 15:32:26

探索性大數(shù)據(jù)

2012-09-04 09:20:26

測(cè)試軟件測(cè)試探索測(cè)試

2021-12-12 08:37:18

結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)

2024-05-27 00:32:45

2017-05-20 10:36:37

非結(jié)構(gòu)化數(shù)據(jù)分析技術(shù)

2020-08-18 13:30:01

Python命令數(shù)據(jù)分析

2015-09-21 09:33:47

大數(shù)據(jù)數(shù)據(jù)分析

2017-11-16 05:22:34

非結(jié)構(gòu)化數(shù)據(jù)分析數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 干干天天 | 看羞羞视频免费 | 久久美国| 激情黄色在线观看 | 视频一区中文字幕 | 男女爱爱网站 | 日本久久久久久 | 精品久久久久久久久久久久久久 | 久久伊人精品一区二区三区 | 免费a网| 成人高清在线视频 | 国产一区亚洲二区三区 | 欧美一区二区成人 | 一区二区三区韩国 | 酒色成人网 | 91传媒在线播放 | 国产精品久久国产精品久久 | 在线欧美激情 | www.99精品| 日本欧美在线视频 | 国产成人精品一区二区三区网站观看 | 人人艹人人 | 国产欧美在线视频 | 欧美极品视频在线观看 | 精品国产一区二区在线 | 国产精品久久久久久久久久久新郎 | 久久久久久一区 | 一区二区三区视频在线观看 | 在线免费观看黄色 | 射久久| 欧美情趣视频 | 男人天堂网址 | 国产精品视频在线观看 | 亚洲国产精品久久 | 国产一区中文 | 九九久久国产精品 | 日韩av第一页 | 久久久蜜桃一区二区人 | 欧美a区 | 国产精品一区二区免费 | 欧美国产一区二区 |