日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python中三個不常見但是非常有用的數(shù)據(jù)科學庫

 介紹

如果你從事數(shù)據(jù)科學研究有一段時間了,那么pandas, scikit-learn seaborn和matplotlib這些庫你都應該非常的熟悉。

為怒江州等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及怒江州網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站制作、做網(wǎng)站、怒江州網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

如果您想要擴展您的視野,學習一些更少見但同樣有用的庫。在本文中,我將向您展示一些不太為人所知的但是卻非常好用的python庫。

imbalanced-learn

如果你過去一直在構建一些有監(jiān)督的機器學習模型,你就會知道目標變量中的類別不平衡可能是一個大問題。這是因為在少數(shù)類中沒有足夠的例子來讓算法學習模式。

一個解決方案是創(chuàng)建一些合成樣本,通過使用例如SMOTE(合成少數(shù)群體過采樣技術)來增加少數(shù)群體類的學習。

幸運的是,imbalance-learn庫將幫助您在任何不平衡數(shù)據(jù)集上實現(xiàn)這一技術。

您可以通過在終端上執(zhí)行以下命令來安裝imbalance-learn庫。

 
 
 
 
  1. pip install imbalanced-learn 

為了演示如何平衡數(shù)據(jù)集,我們將使用sklearn下載乳腺癌數(shù)據(jù)集。

 
 
 
 
  1. from sklearn.datasets import load_breast_cancer 
  2. import pandas as pddata = load_breast_cancer() 
  3. df = pd.DataFrame(data.data, columns=[data.feature_names]) 
  4. df[‘target’] = data[‘target’] 
  5. df.head() 

 下面看目標變量的分布。

 
 
 
 
  1. df.target.value_counts()  

數(shù)據(jù)集確實是均勻分布的,盡管它不是非常不平衡:我們有357名乳腺癌患者和212名健康患者。

我們看看能不能讓它更平衡一點。我們將使用SMOTE對0類進行過采樣。

 
 
 
 
  1. from imblearn.over_sampling import SMOTE 
  2. oversample = SMOTE() 
  3. X_oversample, y_oversample = oversample.fit_resample(data.data, data.target) 
  4. pd.Series(y_oversample).value_counts() 

如你所見,數(shù)據(jù)集現(xiàn)在已經(jīng)完全平衡了。每個類有357個實例。作為我們操作的結果,創(chuàng)建了145個人工實例。

statsmodels

這是另一個很棒的庫,專門用來建立統(tǒng)計模型。我通常用它來擬合線性回歸

它真的很容易使用,你可以馬上得到很多關于模型的信息,比如R2 BIC、AIC、置信度和它們相應的p值。當使用scikit-learn的線性回歸時,這些信息更難以獲取。

讓我們看看如何使用這個庫來適應線性回歸模型。讓我們先下載一個波士頓房價數(shù)據(jù)集。

 
 
 
 
  1. from sklearn.datasets import load_boston 
  2. import pandas as pd 
  3. data = load_boston() 
  4. df = pd.DataFrame(data.data, columns=[data.feature_names]) 
  5. df[‘target’] = data[‘target’] 
  6. df.head()  

上面是我們的數(shù)據(jù)集的前五行。有13個特征,我們可以看到一個目標變量是一個連續(xù)的數(shù)字。這是一個完美的回歸數(shù)據(jù)集。

現(xiàn)在讓我們使用pip安裝統(tǒng)計模型庫

 
 
 
 
  1. pip install statsmodels 

現(xiàn)在,我們可以使用以下代碼嘗試將線性回歸模型與我們的數(shù)據(jù)相匹配。

 
 
 
 
  1. import statsmodels.api as sm 
  2. X = sm.add_constant(df.drop(columns=[‘target’])) # adding a constant 
  3. model = sm.OLS(df.target, X).fit() 
  4. predictions = model.predict(X) 
  5. print_model = model.summary() 
  6. print(print_model)   

我們剛剛將一個線性回歸模型擬合到這個數(shù)據(jù)集上,并打印出了該模型的詳細摘要。您可以很容易地閱讀所有重要信息,在必要時重新調整功能,并重新運行模型。

我發(fā)現(xiàn)與scikit-learn版本相比,使用statsmodels進行回歸更容易,因為我需要的所有信息都在這個簡短的報告中。

missingno

missingno是另一個有用的庫。它可以幫助您可視化缺失值的分布。

您可能已經(jīng)習慣使用isnull()函數(shù)檢查pandas中的缺失值。這可以幫助您獲取每列缺失值的數(shù)量,但不能幫助您確定它們的位置。這正是missingo變得有用的時候。

你可以使用下面的命令安裝庫:

 
 
 
 
  1. pip install missingno 

現(xiàn)在,讓我們演示如何使用missingo來可視化缺失的數(shù)據(jù)。為了做到這一點,我們將從Kaggle下載預期壽命數(shù)據(jù)集。

然后可以使用read_csv()函數(shù)加載數(shù)據(jù)集,然后從missingno庫調用matrix()函數(shù)。

 
 
 
 
  1. import pandas as pd 
  2. import missingno as msno 
  3. df = pd.read_csv(‘Life Expectancy Data.csv’) 
  4. msno.matrix(df) 

可以看到缺失值的位置。如果懷疑丟失的值位于某個特定位置或遵循某個特定模式,那么它將非常有用。

總結

以上三個庫非常的有用,通過使用它們可以簡化我們的操作,提高我們的工作效率。


標題名稱:Python中三個不常見但是非常有用的數(shù)據(jù)科學庫
鏈接分享:http://m.5511xx.com/article/ccspihh.html