目錄 1、Python的常用包有哪些,分別有什么作用? 2、sklearn的常用包有哪些,分別有什么作用? 3、什么是正則化、如何理解正則化以及正則化的作用? 4、bias和variance是什么? 1 Python的常用包有哪些,分別有什么作用? Datawhale優(yōu)秀回答者:追風(fēng)者 Python常用包 1、Numpy(數(shù)值運算庫) 2、Scipy(科學(xué)計算庫) 3、Matplotlib(基礎(chǔ)可視化庫) 4、Pandas(數(shù)據(jù)處理庫) 5、Seaborn(高級可視化庫) 6、Scikit-learn(流行的機器學(xué)習(xí)庫) 各自作用 1、Numpy是最為流行的機器學(xué)習(xí)和數(shù)據(jù)科學(xué)包,Numpy包支持在多維數(shù)據(jù)上的數(shù)學(xué)運算,提供數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)高效的處理函數(shù),很多更高級的擴展庫(包括Scipy、Matplotlib、Pandas等庫)都依賴于Numpy庫; 2、Scipy包用于科學(xué)計算,提供矩陣支持,以及矩陣相關(guān)的數(shù)值計算模塊,其功能包含有最優(yōu)化、線性代數(shù)、積分、插值、擬合、信號處理和圖像處理以及其他科學(xué)工程中常用的計算; 3、Pandas用于管理數(shù)據(jù)集,強大、靈活的數(shù)據(jù)分析和探索工具,其帶有豐富的數(shù)據(jù)處理函數(shù),支持序列分析功能,支持靈活處理缺失數(shù)據(jù)等; ● Pandas基本的數(shù)據(jù)結(jié)構(gòu)是Series和DataFrame; ● Series就是序列,類似一維數(shù)組; ● DataFrame相當于一張二維的表格,類似二維數(shù)組,它的每一列都是一個Series; ● 為了定位Series中的元素,Pandas提供了Index對象,每個Series都會帶有一個對應(yīng)的Index,用來標記不用的元素; ● DataFrame相當于多個帶有同樣Index的Series的組合(本質(zhì)是Series的容器); 4、Matplotlib庫用于數(shù)據(jù)可視化,強大的數(shù)據(jù)可視化工具以及作圖庫,其主要用于二維繪圖,也可以進行簡單的三維繪圖; 5、Seaborn庫是基于Matplotlib的高級可視化庫; 6、Sklearn庫包含大量機器學(xué)習(xí)算法的實現(xiàn),其提供了完善的機器學(xué)習(xí)工具箱,支持預(yù)處理、回歸、分類、聚類、降維、預(yù)測和模型分析等強大的機器學(xué)習(xí)庫,近乎一半的機器學(xué)習(xí)和數(shù)據(jù)科學(xué)項目使用該包。 2 sklearn的常用包有哪些,分別有什么作用? Datawhale優(yōu)秀回答者:玲 sklearn庫的結(jié)構(gòu) sklearn主要是用于機器學(xué)習(xí),所以sklearn的模塊也都是圍繞機器學(xué)習(xí)算法的。sklearn因此可以分為這幾個部分:Classification(分類),Regression(回歸),Clustering(聚類),Dimensionality reduction(降維),Model selection(模型選擇),Preprocessing(預(yù)處理)。 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.模型選擇方法包括網(wǎng)格搜索(sklearn.model_selection.GridSearchCV)、交叉驗證(有很多,比如sklearn.model_selection.KFold、cross_val_score)、評估指標(sklearn.model_selection.metrics,包括precision、recall、accuracy等)。 6.預(yù)處理方法包括基本的預(yù)處理方法(sklearn.preprocessing,包括標準化、類別化、離散化等)、特征抽取(sklearn.feature_extraction,包括文本特征抽取方法bag of words、tf-idf等)。 機器學(xué)習(xí)主要步驟中sklearn應(yīng)用 1.數(shù)據(jù)集:sklearn.datasets中提供了很多數(shù)據(jù)集,初學(xué)時可將其作為基礎(chǔ)數(shù)據(jù)。 2.數(shù)據(jù)預(yù)處理:sklearn.preprocessing,包括:降維、數(shù)據(jù)歸一化、特征提取和特征轉(zhuǎn)換(one-hot)等 3.選擇模型并訓(xùn)練:分類、回歸、聚類、集成等算法,涉及的模型主要是sklearn.linear_model、sklearn.cluster、sklearn.ensemble。 4.模型評分:sklearn.metrics,包括準確率、召回率等,算法自身也帶有評分方法score。 5.模型的保存與恢復(fù):可以用python的pickle方法(pickle.dump、pickle.load),或者sklearn.externals.joblib(joblib.dump、joblib.load)。 學(xué)習(xí)建議 不必一次看完sklearn所有模塊的使用方法,這樣太累!成效也不大!最好的方式是一邊學(xué)習(xí)機器學(xué)習(xí)算法理論,一邊實踐的過程中去了解相關(guān)模塊的用途,記憶會更深刻。 推薦的學(xué)習(xí)資料 基本了解:https://blog.csdn.net/u014248127/article/details/78885180 深入探索:Hands-On Machine Learning with Scikit-Learn & TensorFlow 3 什么是正則化、如何理解正則化以及正則化的作用? Datawhale優(yōu)秀回答者:追風(fēng)者 正則化-Regularization(也稱為懲罰項或范數(shù))就是通過對模型的參數(shù)在“數(shù)量”和“大小”方面做相應(yīng)的調(diào)整,從而降低模型的復(fù)雜度,以達到避免過擬合的效果。 如何理解正則化 如果我們的目標僅僅是最小化損失函數(shù)(即經(jīng)驗風(fēng)險最小化),那么模型的復(fù)雜度勢必會影響到模型的整體性能;引入正則化(即結(jié)構(gòu)風(fēng)險最小化)可以理解為衡量模型的復(fù)雜度,同時結(jié)合經(jīng)驗風(fēng)險最小化,進一步訓(xùn)練優(yōu)化算法。 正則化的作用 正則化可以限制模型的復(fù)雜度,從而盡量避免過擬合的發(fā)生;模型之所以出現(xiàn)過擬合的主要原因是學(xué)習(xí)到了過多噪聲,即模型過于復(fù)雜(也可以通過簡化模型或增加數(shù)據(jù)集等方法盡量避免過擬合的發(fā)生)。 正則化的常見類型 (1)L1正則化 可以通過稀疏化(減少參數(shù)“數(shù)量”)來降低模型復(fù)雜度的,即可以將參數(shù)值減小到0。 (2)L2正則化 可以通過減少參數(shù)值“大小”來降低模型的復(fù)雜度,即只能將參數(shù)值不斷減小,但永遠不會減小為0,只能盡量接近于0。 關(guān)聯(lián)概念 過擬合、正則化、經(jīng)驗風(fēng)險最小化、結(jié)構(gòu)風(fēng)險最小化、損失函數(shù)、模型復(fù)雜度、范數(shù) 4 bias和variance是什么? Datawhale優(yōu)秀回答者:追風(fēng)者 解釋1 bias 偏差 :模型的期望(或平均)預(yù)測和正確值之間的差別; variance 方差 :模型之間的多個擬合預(yù)測之間的偏離程度。 解釋2 bias和variance分別從兩個方面來描述了我們學(xué)習(xí)到的模型與真實模型之間的差距; bias是 “用所有可能的訓(xùn)練數(shù)據(jù)集訓(xùn)練出的所有模型的輸出的平均值” 與 “真實模型”的輸出值之間的差異; variance則是“不同的訓(xùn)練數(shù)據(jù)集訓(xùn)練出的模型”的輸出值之間的差異。 解釋3 首先 Error = bias + variance Error反映的是整個模型的準確度,bias反映的是模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準度,variance反映的是模型每一次輸出結(jié)果與模型輸出期望之間的誤差,即模型的穩(wěn)定性; 更準確地講Error分成3個部分:Error = bias + variance + noise; |
|