python常用包
1、numpy(數值運算庫)
2、scipy(科學計算庫)
3、matplotlib(基礎視覺化庫)
4、pandas(資料處理庫)
5、seaborn(高階視覺化庫)
6、scikit-learn(流行的機器學習庫)
各自作用
1、numpy是最為流行的機器學習和資料科學包,numpy包支援在多維資料上的數**算,提供資料結構以及相應高效的處理函式,很多更高階的擴充套件庫(包括scipy、matplotlib、pandas等庫)都依賴於numpy庫;
2、scipy包用於科學計算,提供矩陣支援,以及矩陣相關的數值計算模組,其功能包含有最優化、線性代數、積分、插值、擬合、訊號處理和影象處理以及其他科學工程中常用的計算;
3、pandas用於管理資料集,強大、靈活的資料分析和探索工具,其帶有豐富的資料處理函式,支援序列分析功能,支援靈活處理缺失資料等;
● pandas基本的資料結構是series和dataframe;
● series就是序列,類似一維陣列;
● dataframe相當於一張二維的**,類似二維陣列,它的每一列都是乙個series;
● 為了定位series中的元素,pandas提供了index物件,每個series都會帶有乙個對應的index,用來標記不用的元素;
● dataframe相當於多個帶有同樣index的series的組合(本質是series的容器);
4、matplotlib庫用於資料視覺化,強大的資料視覺化工具以及作相簿,其主要用於二維繪圖,也可以進行簡單的三維繪圖;
5、seaborn庫是基於matplotlib的高階視覺化庫;
6、sklearn庫包含大量機器學習演算法的實現,其提供了完善的機器學習工具箱,支援預處理、回歸、分類、聚類、降維、**和模型分析等強大的機器學習庫,近乎一半的機器學習和資料科學專案使用該包。
datawhale優秀回答者:玲
sklearn庫的結構
sklearn主要是用於機器學習,所以sklearn的模組也都是圍繞機器學習演算法的。sklearn因此可以分為這幾個部分:classification(分類),regression(回歸),clustering(聚類),dimensionality reduction(降維),model selection(模型選擇),preprocessing(預處理)。
1.分類演算法包括svm(sklearn.svm.svc等)、近鄰(sklearn.neighbors)、隨機森林(sklearn.ensemble.randomforestclassifier)等。
2.回歸演算法包括svr(sklearn.svm.svr)、嶺回歸(sklearn.linear_model.ridge)、lasso(sklearn.linear_model.lasso)等。
3.聚類演算法包括k均值(sklearn.cluster.kmeans)、譜聚類(sklearn.cluster.spectralclustering)等。
4.降維演算法包括pca(如sklearn.decomposition.pca)、特徵選擇(sklearn.feature_selection,包括單變數特徵選擇等)、非負矩陣分解(如sklearn.decomposition.nmf、latentdirichletallocation)。
5.模型選擇方法包括網格搜尋(sklearn.model_selection.gridsearchcv)、交叉驗證(有很多,比如sklearn.model_selection.kfold、cross_val_score)、評估指標(sklearn.model_selection.metrics,包括precision、recall、accuracy等)。
6.預處理方法包括基本的預處理方法(sklearn.preprocessing,包括標準化、類別化、離散化等)、特徵抽取(sklearn.feature_extraction,包括文字特徵抽取方法bag of words、tf-idf等)。
機器學習主要步驟中sklearn應用
1.資料集:sklearn.datasets中提供了很多資料集,初學時可將其作為基礎資料。
2.資料預處理:sklearn.preprocessing,包括:降維、資料歸一化、特徵提取和特徵轉換(one-hot)等
3.選擇模型並訓練:分類、回歸、聚類、整合等演算法,涉及的模型主要是sklearn.linear_model、sklearn.cluster、sklearn.ensemble。
4.模型評分:sklearn.metrics,包括準確率、召回率等,演算法自身也帶有評分方法score。
5.模型的儲存與恢復:可以用python的pickle方法(pickle.dump、pickle.load),或者sklearn.externals.joblib(joblib.dump、joblib.load)。
學習建議
不必一次看完sklearn所有模組的使用方法,這樣太累!成效也不大!最好的方式是一邊學習機器學習演算法理論,一邊實踐的過程中去了解相關模組的用途,記憶會更深刻。
推薦的學習資料
基本了解:
深入探索:hands-on machine learning with scikit-learn & tensorflow
**:
Linux下常用目錄有哪些?分別有什麼作用?
boot 這個目錄是用來存放與系統啟動相關的檔案 root root使用者的家目錄 bin 存放大部分的二進位制的可執行檔案,也就是大部分的linux命令。tmp 這個檔案目錄一般是公共的,也就是說任何人任何使用者登入該檔案目錄都可以對其操作 新增新目錄.新檔案.修改檔案.刪除檔案等操作 他是個臨時...
css 定位有哪些?分別說明
1 static 預設值,沒有定位,元素出現在正常的流中 忽略 top,bottom,left,right 或者 z index 宣告 2 relative 生成相對定位的元素,相對於其正常位置進行定位。元素的位置通過 left top right 以及 bottom 屬性進行規定。3 fixed ...
關於」儲存」有哪些?分別的優點缺點有哪些呢?
一.儲存有哪些呢?1 cookie 1 概念 http cookie就是儲存在客戶端的一段文字。2 作用 為了實現 客戶端與伺服器 之間狀態的保持。3 優缺點 優點 可以設定過期時間 相容性好。缺點 不安全。記憶體小,限於儲存4kb。2 web儲存機制 1 概念 web應用程式能夠在使用者瀏覽器中對...