Python中非常有用的三個資料科學庫
如果您想要擴充套件您的視野,學習一些更少見但同樣有用的庫。在本文中,我將向您展示一些不太為人所知的但是卻非常好用的python庫。
如果你過去一直在構建一些有監督的機器學習模型,你就會知道目標變數中的類別不平衡可能是一個大問題。這是因為在少數類中沒有足夠的例子來讓演算法學習模式。
一個解決方案是建立一些合成樣本,透過使用例如SMOTE(合成少數群體過取樣技術)來增加少數群體類的學習。
幸運的是,imbalance-learn庫將幫助您在任何不平衡資料集上實現這一技術。
您可以透過在終端上執行以下 來安裝imbalance-learn庫。
pip install imbalanced-learn
為了演示如何平衡資料集,我們將使用sklearn下載乳腺癌資料集。
from sklearn.datasets import load_breast_cancer import pandas as pddata = load_breast_cancer() df = pd.DataFrame(data.data, columns=[data.feature_names]) df[‘target’] = data[‘target’] df.head()
下面看目標變數的分佈。
df.target.value_counts()
資料集確實是均勻分佈的,儘管它不是非常不平衡:我們有357名乳腺癌患者和212名健康患者。
我們看看能不能讓它更平衡一點。我們將使用SMOTE對0類進行過取樣。
from imblearn.over_sampling import SMOTE oversample = SMOTE() X_oversample, y_oversample = oversample.fit_resample(data.data, data.target) pd.Series(y_oversample).value_counts()
如你所見,資料集現在已經完全平衡了。每個類有357個例項。作為我們操作的結果,建立了145個人工例項。
這是另一個很棒的庫,專門用來建立統計模型。我通常用它來擬合線性迴歸
它真的很容易使用,你可以馬上得到很多關於模型的資訊,比如R2 BIC、AIC、置信度和它們相應的p值。當使用scikit-learn的線性迴歸時,這些資訊更難以獲取。
讓我們看看如何使用這個庫來適應線性迴歸模型。讓我們先下載一個波士頓房價資料集。
from sklearn.datasets import load_boston import pandas as pd data = load_boston() df = pd.DataFrame(data.data, columns=[data.feature_names]) df[‘target’] = data[‘target’] df.head()
上面是我們的資料集的前五行。有13個特徵,我們可以看到一個目標變數是一個連續的數字。這是一個完美的迴歸資料集。
現在讓我們使用pip安裝統計模型庫
pip install statsmodels
現在,我們可以使用以下程式碼嘗試將線性迴歸模型與我們的資料相匹配。
import statsmodels.api as sm X = sm.add_constant(df.drop(columns=[‘target’])) # adding a constant model = sm.OLS(df.target, X).fit() predictions = model.predict(X) print_model = model.summary() print(print_model)
我們剛剛將一個線性迴歸模型擬合到這個資料集上,並列印出了該模型的詳細摘要。您可以很容易地閱讀所有重要資訊,在必要時重新調整功能,並重新執行模型。
我發現與scikit-learn版本相比,使用statsmodels進行迴歸更容易,因為我需要的所有資訊都在這個簡短的報告中。
missingno是另一個有用的庫。它可以幫助您視覺化缺失值的分佈。
您可能已經習慣使用isnull()函式檢查pandas中的缺失值。這可以幫助您獲取每列缺失值的數量,但不能幫助您確定它們的位置。這正是missingo變得有用的時候。
你可以使用下面的 安裝庫:
pip install missingno
現在,讓我們演示如何使用missingo來視覺化缺失的資料。為了做到這一點,我們將從Kaggle下載預期壽命資料集。
然後可以使用read_csv()函式載入資料集,然後從missingno庫呼叫matrix()函式。
import pandas as pd import missingno as msno df = pd.read_csv(‘Life Expectancy Data.csv’) msno.matrix(df)
可以看到缺失值的位置。如果懷疑丟失的值位於某個特定位置或遵循某個特定模式,那麼它將非常有用。
以上三個庫非常的有用,透過使用它們可以簡化我們的操作,提高我們的工作效率。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2788620/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python資料科學(三) python與資料科學應用(Ⅲ)Python資料科學
- 盤點5個常用的Python資料科學庫!Python資料科學
- 3 個用於資料科學的頂級 Python 庫資料科學Python
- 常用構建資料科學應用程式的七個Python庫資料科學Python
- 2017年資料科學15個最好用的Python庫資料科學Python
- 2017 年最流行的 15 個資料科學 Python 庫資料科學Python
- Python資料科學及人工智慧常見的模組!Python資料科學人工智慧
- Python資料科學(二) python與資料科學應用(Ⅱ)Python資料科學
- Python資料科學(一) python與資料科學應用(Ⅰ)Python資料科學
- [譯] 鮮為人知的資料科學 Python 庫資料科學Python
- 資料科學和 ML 領域常用的 Python 庫資料科學Python
- 《Python入門與資料科學庫》學習筆記Python資料科學筆記
- 理工大學大資料應用的三個學科大資料
- Python---資料科學領域常用的15個Python包Python資料科學
- Python機器學習 5個資料科學家案例解析Python機器學習資料科學
- Python資料科學(七) 資料清理(Ⅱ)Python資料科學
- Python資料科學(六) 資料清理(Ⅰ)Python資料科學
- 常見的6個Python資料視覺化庫!Python視覺化
- Python 資料科學之 PandasPython資料科學
- 【Python資料科學】之NumpyPython資料科學
- Python 資料科學入門Python資料科學
- Python資料科學(四) 資料收集系列Python資料科學
- 人的資料科學與機器資料科學資料科學
- 資料分析師、資料科學家、大資料專家三個職位的區別資料科學大資料
- Python for Data Science(Python資料科學):您可能忘記的8個概念Python資料科學
- 【虹科乾貨】使用記憶體資料庫解決三個資料庫效能問題記憶體資料庫
- 三個值得新增到您的資料科學工具包中的想法資料科學
- 用 Python 入門資料科學Python資料科學
- python應用資料科學的優勢Python資料科學
- 用在資料科學上的 Python:你可能忘記的 8 個概念資料科學Python
- 讓科學重回資料科學資料科學
- 資料科學資料科學
- 著陸資料科學工作的8個技巧!資料科學
- 用Python做資料科學時容易忘記的八個要點!Python資料科學
- (資料科學學習手札137)orjson:Python中最好用的json庫資料科學JSONPython
- 資料科學從業者常見的不良小習慣資料科學
- 資料科學的原理與技巧 一、資料科學的生命週期資料科學
- 手把手教你完成一個資料科學小專案(3):資料異常與清洗資料科學