項(xiàng)目7 線上書籍網(wǎng)站數(shù)據(jù)綜合分析-使用scikit-learn構(gòu)建模型_第1頁
項(xiàng)目7 線上書籍網(wǎng)站數(shù)據(jù)綜合分析-使用scikit-learn構(gòu)建模型_第2頁
項(xiàng)目7 線上書籍網(wǎng)站數(shù)據(jù)綜合分析-使用scikit-learn構(gòu)建模型_第3頁
項(xiàng)目7 線上書籍網(wǎng)站數(shù)據(jù)綜合分析-使用scikit-learn構(gòu)建模型_第4頁
項(xiàng)目7 線上書籍網(wǎng)站數(shù)據(jù)綜合分析-使用scikit-learn構(gòu)建模型_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

線上書籍網(wǎng)站數(shù)據(jù)綜合分析——

使用scikit-learn構(gòu)建模型目錄1構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的聚類模型使用sklearn轉(zhuǎn)換器處理線上書籍網(wǎng)站數(shù)據(jù)2構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的分類模型3構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的回歸模型4任務(wù)描述本任務(wù)將基于預(yù)處理后的線上網(wǎng)站書籍?dāng)?shù)據(jù),使用pandas加載數(shù)據(jù)集,并結(jié)合sklearn進(jìn)行數(shù)據(jù)預(yù)處理,為模型的訓(xùn)練和測試打下堅(jiān)實(shí)的基礎(chǔ)。任務(wù)分析(1)使用pandas加載線上網(wǎng)站書籍?dāng)?shù)據(jù)。(2)選取用于聚類分析的特征,并使用sklearn進(jìn)行標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化處理。使用sklearn轉(zhuǎn)換器處理線上書籍網(wǎng)站數(shù)據(jù)加載datasets模塊中的數(shù)據(jù)集數(shù)據(jù)集加載函數(shù)數(shù)據(jù)集任務(wù)類型數(shù)據(jù)集加載函數(shù)數(shù)據(jù)集任務(wù)類型load_boston回歸load_breast_cancer分類、聚類fetch_california_housing回歸load_iris分類、聚類load_digits分類load_wine分類load_diabetes回歸load_linnerud回歸sklearn庫的datasets模塊集成了部分?jǐn)?shù)據(jù)分析的經(jīng)典數(shù)據(jù)集,讀者可以使用這些數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理、建

模等操作,以及熟悉sklearn的數(shù)據(jù)處理流程和建模流程。datasets模塊常用數(shù)據(jù)集的加載函數(shù)及其解釋,如下表。

使用sklearn進(jìn)行數(shù)據(jù)預(yù)處理需要用到sklearn提供的統(tǒng)一接口——轉(zhuǎn)換器(Transformer)。加載datasets模塊中的數(shù)據(jù)集fromsklearn.datasetsimportload_diabetes#加載diabetes數(shù)據(jù)集diabetes=load_diabetes()#將數(shù)據(jù)集賦值給diabetes變量print('diabetes數(shù)據(jù)集的長度為:',len(diabetes))#使用len函數(shù)查看數(shù)據(jù)集長度print('diabetes數(shù)據(jù)集的類型為:',type(diabetes))#使用type函數(shù)查看數(shù)據(jù)集類型diabetes數(shù)據(jù)集的長度為:7diabetes數(shù)據(jù)集的類型為:<class'sklearn.utils.Bunch'>

如果需要加載某個(gè)數(shù)據(jù)集,那么可以將對應(yīng)的函數(shù)賦值給某個(gè)變量。加載diabetes數(shù)據(jù)集,如以下代碼。加載datasets模塊中的數(shù)據(jù)集diabetes_data=diabetes['data']#獲取數(shù)據(jù)集的數(shù)據(jù)diabetes_target=diabetes['target']#獲取數(shù)據(jù)集的標(biāo)簽diabetes_names=diabetes['feature_names']#獲取數(shù)據(jù)集的特征名diabetes_desc=diabetes['DESCR']#獲取數(shù)據(jù)集的描述信息查看對應(yīng)信息只需print()輸入對應(yīng)變量名即可加載后的數(shù)據(jù)集可以視為一個(gè)字典,幾乎所有的sklearn數(shù)據(jù)集均可以使用如下屬性分別獲取數(shù)據(jù)集的數(shù)據(jù)、標(biāo)簽、特征名稱和描述信息。datatargetfeature_namesDESCR獲取sklearn自帶數(shù)據(jù)集的內(nèi)部信息,如以下代碼。將數(shù)據(jù)集劃分為訓(xùn)練集和測試集

在數(shù)據(jù)分析過程中,為了保證模型在實(shí)際系統(tǒng)中能夠起到預(yù)期作用,一般需要將總樣本分劃分成獨(dú)立的3

部分如下。訓(xùn)練集(trainset)驗(yàn)證集(validationset)測試集(testset)

典型的劃分方式如下。

訓(xùn)練集數(shù)量,占總樣本數(shù)量的50%。

驗(yàn)證集數(shù)量,占總樣本數(shù)量的25%。

測試集數(shù)量,占總樣本數(shù)量的25%。用于估計(jì)模型用于確定網(wǎng)絡(luò)結(jié)構(gòu)或控制模型復(fù)雜程度的參數(shù)用于檢驗(yàn)最優(yōu)模型的性能將數(shù)據(jù)集劃分為訓(xùn)練集和測試集當(dāng)總樣本數(shù)據(jù)較少時(shí),使用上面的方法將樣本數(shù)據(jù)劃分為3部分將會不合適。常用的方法是留少部分樣本數(shù)據(jù)做測試集,然后對其余N個(gè)樣本采用K折交叉驗(yàn)證法。其基本步驟如下。

將樣本打亂。

均勻分成K份。

輪流選擇其中K-1份做訓(xùn)練,剩余的一份做驗(yàn)證。

計(jì)算預(yù)測誤差平方和。

將K次的預(yù)測誤差平方和的均值作為選擇最優(yōu)模型結(jié)構(gòu)的依據(jù)。將數(shù)據(jù)集劃分為訓(xùn)練集和測試集

在sklearn的model_selection模塊中提供了train_test_split函數(shù),可實(shí)現(xiàn)對數(shù)據(jù)集進(jìn)行拆分,train_test_split函數(shù)

的基本使用格式如下。train_test_split函數(shù)是最常用的數(shù)據(jù)劃分方法,在model_selection模塊中還提供了其他數(shù)據(jù)集劃分的函數(shù),如PredefinedSplit函數(shù)、ShuffleSplit函數(shù)等。讀者可以通過查看官方文檔學(xué)習(xí)其使用方法。sklearn.model_selection.train_test_split(*arrays,test_size=None,train_size=None,random_state=None,shuffle=True,stratify=None)將數(shù)據(jù)集劃分為訓(xùn)練集和測試集train_test_split函數(shù)的常用參數(shù)及其說明如下表。數(shù)值型數(shù)據(jù)類型說明*arrays接收list、numpy數(shù)組、scipy-sparse矩陣、Pandas數(shù)據(jù)幀。表示需要?jiǎng)澐值臄?shù)據(jù)集。若為分類回歸,則分別傳入數(shù)據(jù)和標(biāo)簽;若為聚類,則傳入數(shù)據(jù)。無默認(rèn)值test_size接收float、int。表示測試集的大小。若傳入為float型參數(shù)值,則應(yīng)介于0~1之間,表示測試集在總數(shù)據(jù)集中的占比;若傳入為int型參數(shù)值,則表示測試樣本的絕對數(shù)量。默認(rèn)為Nonetrain_size接收float、int。表示訓(xùn)練集的大小,傳入的參數(shù)值說明與test_size參數(shù)的參數(shù)值說明相似。默認(rèn)為Nonerandom_state接收int。表示用于隨機(jī)抽樣的偽隨機(jī)數(shù)發(fā)生器的狀態(tài)。默認(rèn)為Noneshuffle接收bool。表示在拆分?jǐn)?shù)據(jù)集前是否對數(shù)據(jù)進(jìn)行混洗。默認(rèn)為Truestratify接收array。表示用于保持拆分前類的分布平衡。默認(rèn)為None將數(shù)據(jù)集劃分為訓(xùn)練集和測試集查看對應(yīng)信息只需print()輸入對應(yīng)變量名.shape即可train_test_split函數(shù)可分別將傳入的數(shù)據(jù)集劃分為訓(xùn)練集和測試集。如果傳入的是一組數(shù)據(jù)集,那么生成的就是這一組數(shù)據(jù)集隨機(jī)劃分后的訓(xùn)練集和測試集,總共兩組。如果傳入的是兩組數(shù)據(jù)集,則生成的訓(xùn)練集和測試集分別兩組,總共4組。將breast_cancer數(shù)據(jù)集劃分為訓(xùn)練集和測試集,如以下代碼。fromsklearn.model_selectionimporttrain_test_split#加載diabetes數(shù)據(jù)集diabetes_data_train,diabetes_data_test,diabetes_target_train,diabetes_target_test=\#定義變量名train_test_split(diabetes_data,diabetes_target,test_size=0.2,random_state=42)#調(diào)用函數(shù)劃分?jǐn)?shù)據(jù)集使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理為了幫助用戶實(shí)現(xiàn)大量的特征處理相關(guān)操作,sklearn將相關(guān)的功能封裝為轉(zhuǎn)換器。轉(zhuǎn)換器主要包括3個(gè)方法:fit()、transform()和fit_transform()。轉(zhuǎn)換器的3種方法及其說明如下表。方法名稱方法說明fit()主要通過分析特征和目標(biāo)值提取有價(jià)值的信息,這些信息可以是統(tǒng)計(jì)量、權(quán)值系數(shù)等transform()主要用于對特征進(jìn)行轉(zhuǎn)換。從可利用信息的角度分為無信息轉(zhuǎn)換和有信息轉(zhuǎn)換。無信息轉(zhuǎn)換是指不利用任何其他信息進(jìn)行轉(zhuǎn)換,如指數(shù)函數(shù)和對數(shù)函數(shù)轉(zhuǎn)換等。有信息轉(zhuǎn)換根據(jù)是否利用目標(biāo)值向量又可分為無監(jiān)督轉(zhuǎn)換和有監(jiān)督轉(zhuǎn)換。無監(jiān)督轉(zhuǎn)換指只利用特征的統(tǒng)計(jì)信息的轉(zhuǎn)換,如標(biāo)準(zhǔn)化和PCA降維等。有監(jiān)督轉(zhuǎn)換指既利用了特征信息又利用了目標(biāo)值信息的轉(zhuǎn)換,如通過模型選擇特征和LDA降維等fit_transform()即先調(diào)用fit()方法,然后調(diào)用transform()方法使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理目前,使用sklearn轉(zhuǎn)換器能夠?qū)崿F(xiàn)對傳入的NumPy數(shù)組進(jìn)行如下處理。標(biāo)準(zhǔn)化處理。歸一化處理。二值化處理。PCA降維等操作。在第5章中,基于pandas庫介紹了標(biāo)準(zhǔn)化處理的原理、概念與方法。但是在數(shù)據(jù)分析過程中,各類特征處理相關(guān)的操作都需要對訓(xùn)練集和測試集分開進(jìn)行,需要將訓(xùn)練集的操作規(guī)則、權(quán)重系數(shù)等應(yīng)用到測試集中。如果使用pandas,那么應(yīng)用至測試集的過程相對煩瑣,使用sklearn轉(zhuǎn)換器可以解決這一困擾。使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理sklearn除了提供離差標(biāo)準(zhǔn)化函數(shù)MinMaxScaler外,還提供了一系列數(shù)據(jù)預(yù)處理函數(shù),如下表。函數(shù)名稱函數(shù)說明StandardScaler對特征進(jìn)行標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化Normalizer對特征進(jìn)行歸一化Binarizer對定量特征進(jìn)行二值化處理OneHotEncoder對定性特征進(jìn)行獨(dú)熱編碼處理FunctionTransformer對特征進(jìn)行自定義函數(shù)變換使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理

sklearn除了提供基本的特征變換函數(shù)外,還提供了降維算法、特征選擇算法,這些算法的使用也是通過轉(zhuǎn)換器的方式進(jìn)行的。sklearn的decomposition模塊中提供了PCA類,可實(shí)現(xiàn)對數(shù)據(jù)集進(jìn)行PCA降維,PCA類的基本使用格式如下。classsklearn.decomposition.PCA(n_components=None,*,copy=True,whiten=False,svd_solver='auto',tol=0.0,iterated_power='auto',random_state=None)使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理PCA類常用參數(shù)及其說明如下表。參數(shù)名稱參數(shù)說明n_components接收int、float、'mle'。表示降維后要保留的特征緯度數(shù)目。若未指定參數(shù)值,則表示所有特征均會被保留下來;若傳入為int型參數(shù)值,則表示將原始數(shù)據(jù)降低到n個(gè)維度;若傳入為float型參數(shù)值,則將根據(jù)樣本特征方差來決定降維后的維度數(shù);若賦值為“mle”,則將會使用MLE算法來根據(jù)特征的方差分布情況自動選擇一定數(shù)量的主成分特征來降維。默認(rèn)為Nonecopy接收bool。表示是否在運(yùn)行算法時(shí)將原始訓(xùn)練數(shù)據(jù)進(jìn)行復(fù)制。若為True,則運(yùn)行算法后原始訓(xùn)練數(shù)據(jù)的值不會有任何改變;若為False,則運(yùn)行算法后原始訓(xùn)練數(shù)據(jù)的值將會發(fā)生改變。默認(rèn)為Truewhiten接收bool。表示對降維后的特征進(jìn)行標(biāo)準(zhǔn)化處理,使得具有相同的方差。默認(rèn)為Falsesvd_solver接收str。表示使用的SVD算法,可選randomized、full、arpack、auto。randomized一般適用于數(shù)據(jù)量大,數(shù)據(jù)維度多,同時(shí)主成分?jǐn)?shù)目比例又較低的PCA降維。full是使用SciPy庫實(shí)現(xiàn)的傳統(tǒng)SVD算法。arpack和randomized的適用場景類似,區(qū)別在于,randomized使用的是sklearn自己的SVD實(shí)現(xiàn),而arpack直接使用了SciPy庫的sparseSVD實(shí)現(xiàn)。auto則代表PCA類會自動在上述3種算法中去權(quán)衡,選擇一個(gè)合適的SVD算法來降維。默認(rèn)為auto目錄1構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的聚類模型使用sklearn轉(zhuǎn)換器處理線上書籍網(wǎng)站數(shù)據(jù)2構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的分類模型3構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的回歸模型4任務(wù)描述隨著線上書籍銷售平臺的發(fā)展,用戶評價(jià)和評分成為讀者選擇書籍的重要參考因素。本任務(wù)將構(gòu)建線上網(wǎng)站書籍?dāng)?shù)據(jù)聚類模型,識別書籍之間的潛在模式和相似性,幫助平臺更好地理解用戶需求。任務(wù)分析(1)使用sklearn構(gòu)建線上網(wǎng)站書籍?dāng)?shù)據(jù)聚類模型。(2)使用輪廓系數(shù)評價(jià)法和Calinski-Harabasz指數(shù)評價(jià)法評估線上網(wǎng)站書籍?dāng)?shù)據(jù)聚類模型。構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的聚類模型使用sklearn估計(jì)器構(gòu)建聚類模型聚類的輸入是一組未被標(biāo)記的樣本,聚類根據(jù)數(shù)據(jù)自身的距離或相似度將它們劃分為若干組,劃分的原則是組內(nèi)(內(nèi)部)距離最小化,而組間(外部)距離最大化,如圖所示。使用sklearn估計(jì)器構(gòu)建聚類模型常用的聚類算法及其類別如下表。算法類別包括的主要算法劃分(分裂)方法K-Means算法(K-平均)、K-MEDOIDS算法(K-中心點(diǎn))和CLARANS算法(基于選擇的算法)層次分析方法BIRCH算法(平衡迭代規(guī)約和聚類)、CURE算法(代表點(diǎn)聚類)和CHAMELEON算法(動態(tài)模型)基于密度的方法DBSCAN算法(基于高密度連接區(qū)域)、DENCLUE算法(密度分布函數(shù))和OPTICS算法(對象排序識別)基于網(wǎng)格的方法STING算法(統(tǒng)計(jì)信息網(wǎng)絡(luò))、CLIOUE算法(聚類高維空間)和WAVE-CLUSTER算法(小波變換)使用sklearn估計(jì)器構(gòu)建聚類模型sklearn常用的聚類算法模塊cluster提供的聚類算法及其適用范圍如下表。算法名稱參數(shù)適用范圍距離度量K-Means簇?cái)?shù)可用于樣本數(shù)目很大、聚類數(shù)目中等的場景點(diǎn)之間的距離Spectralclustering簇?cái)?shù)可用于樣本數(shù)目中等、聚類數(shù)目較小的場景圖距離Wardhierarchicalclustering簇?cái)?shù)可用于樣本數(shù)目較大、聚類數(shù)目較大的場景點(diǎn)之間的距離Agglomerativeclustering簇?cái)?shù)、鏈接類型、距離可用于樣本數(shù)目較大、聚類數(shù)目較大的場景任意成對點(diǎn)線圖間的距離DBSCAN半徑大小、最低成員數(shù)目可用于樣本數(shù)目很大、聚類數(shù)目中等的場景最近的點(diǎn)之間的距離Birch分支因子、閾值、可選全局集群可用于樣本數(shù)目很大、聚類數(shù)目較大的場景點(diǎn)之間的歐式距離使用sklearn估計(jì)器構(gòu)建聚類模型方法名稱方法說明fit()fit()方法主要用于訓(xùn)練算法。該方法可接收用于有監(jiān)督學(xué)習(xí)的訓(xùn)練集及其標(biāo)簽兩個(gè)參數(shù),也可以接收用于無監(jiān)督學(xué)習(xí)的數(shù)據(jù)predict()predict()方法用于預(yù)測有監(jiān)督學(xué)習(xí)的測試集標(biāo)簽,亦可以用于劃分傳入數(shù)據(jù)的類別聚類算法實(shí)現(xiàn)需要使用sklearn估計(jì)器(estimator)。sklearn估計(jì)器擁有fit()和predict()兩個(gè)方法,其說明如下表。使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理與降維

使用customer數(shù)據(jù)集,通過sklearn估計(jì)器構(gòu)建K-Means聚類模型,對客戶群體進(jìn)行劃分。并使用sklearn的manifold模塊中的TSNE類可實(shí)現(xiàn)多維數(shù)據(jù)的可視化展現(xiàn)功能,查看聚類效果,TSNE類的基本使用格式如下。classsklearn.manifold.TSNE(n_components=2,*,perplexity=30.0,early_exaggeration=12.0,learning_rate=200.0,n_iter=1000,n_iter_without_progress=300,min_grad_norm=1e-07,metric='euclidean',init='random',verbose=0,random_state=None,method='barnes_hut',angle=0.5,n_jobs=None,square_distances='legacy')使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理與降維TSNE類常用參數(shù)及其說明如下表。參數(shù)名稱參數(shù)說明n_components接收int。表示要嵌入空間中的緯度。默認(rèn)為2perplexity接收float。表示在優(yōu)化過程中鄰近點(diǎn)數(shù)量。默認(rèn)為30early_exaggeration接收float。表示嵌入空間中簇的緊密程度及簇之間的空間大小。默認(rèn)為12learning_rate接收float。表示梯度下降的速率。默認(rèn)為200metric接收str、callable對象。表示用于計(jì)算特征數(shù)組中實(shí)例之間的距離時(shí)使用的度量方式。默認(rèn)為euclideaninit接收str、ndarray對象。表示嵌入的初始化方式。默認(rèn)為randomrandom_state接收int。表示所確定的隨機(jī)數(shù)生成器。默認(rèn)為Nonemethod接收str。表示在進(jìn)行梯度計(jì)算時(shí)所選用的優(yōu)化方法。默認(rèn)為barnes_hut評價(jià)聚類模型聚類評價(jià)的標(biāo)準(zhǔn)是組內(nèi)的對象相互之間是相似的(相關(guān)的),而不同組中的對象是不同的(不相關(guān)的),即組內(nèi)的相似性越大,組間差別越大,聚類效果就越好。sklearn的metrics模塊提供的聚類模型評價(jià)指標(biāo)如下表。評價(jià)指標(biāo)名稱真實(shí)值最佳值sklearn函數(shù)ARI評價(jià)法(蘭德系數(shù))需要1.0adjusted_rand_scoreAMI評價(jià)法(互信息)需要1.0adjusted_mutual_info_scoreV-measure評分需要1.0completeness_scoreFMI評價(jià)法需要1.0fowlkes_mallows_score輪廓系數(shù)評價(jià)法不需要畸變程度最大silhouette_scoreCalinski-Harabasz指數(shù)評價(jià)法不需要相較最大calinski_harabaz_score需要真實(shí)值的配合才能夠評價(jià)聚類算法的優(yōu)劣,評價(jià)的效果更具有說服力,并且在實(shí)際運(yùn)行的過程中,在有真實(shí)值做參考的情況下,聚類方法的評價(jià)可以等同于分類算法的評價(jià)。不需要真實(shí)值的配合評價(jià)聚類模型除了輪廓系數(shù)評價(jià)法以外的評價(jià)方法,在不考慮業(yè)務(wù)場景的情況下都是得分越高,其效果越好,最高分值為1。而輪廓系數(shù)評價(jià)法則需要判斷不同類別數(shù)目情況下的輪廓系數(shù)的走勢,尋找最優(yōu)的聚類數(shù)目。綜合以上聚類評價(jià)方法,在真實(shí)值作為參考的情況下,幾種方法均可以很好地評估聚類模型。在沒有真實(shí)值作為參考的時(shí)候,輪廓系數(shù)評價(jià)法和Calinski-Harabasz指數(shù)評價(jià)法可以結(jié)合使用。目錄1構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的分類模型使用sklearn轉(zhuǎn)換器處理線上書籍網(wǎng)站數(shù)據(jù)3構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的聚類模型2構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的回歸模型4任務(wù)描述書籍評分是消費(fèi)者選擇書籍的重要參考因素。本任務(wù)選取評論相關(guān)的特征,建立分類模型,預(yù)測書籍是否會獲得高評分,識別高評分書籍。任務(wù)分析(1)對分類特征進(jìn)行預(yù)處理,包括構(gòu)造標(biāo)簽特征、選取分類數(shù)據(jù)特征與標(biāo)簽特征、數(shù)據(jù)標(biāo)準(zhǔn)化和數(shù)據(jù)劃分。(2)利用隨機(jī)森林分類算法構(gòu)建線上網(wǎng)站書籍分類模型。(3)使用classification_report函數(shù)輸出評價(jià)報(bào)告,并繪制ROC曲線圖評估線上網(wǎng)站書籍分類模型。構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的分類模型使用sklearn估計(jì)器構(gòu)建分類模型在數(shù)據(jù)分析領(lǐng)域,分類算法很多,其原理千差萬別,常用算法如下?;跇颖揪嚯x的最近鄰算法基于特征信息熵的決策樹算法基于bagging的隨機(jī)森林算法基于boosting的梯度提升分類樹算法但其實(shí)現(xiàn)的過程相差不大,如圖所示。使用sklearn估計(jì)器構(gòu)建分類模型sklearn庫中提供的分類算法非常多,分別存在于不同的模塊中。常用的分類算法如下表。模塊名稱函數(shù)名稱算法名稱linear_modelLogisticRegression邏輯斯蒂回歸svmSVC支持向量機(jī)neighborsKNeighborsClassifierK最近鄰分類naive_bayesGaussianNB高斯樸素貝葉斯treeDecisionTreeClassifier分類決策樹ensembleRandomForestClassifier隨機(jī)森林分類ensembleGradientBoostingClassifier梯度提升分類樹評價(jià)分類模型分類模型對測試集進(jìn)行預(yù)測而得出的準(zhǔn)確率并不能很好地反映模型的性能,為了有效判斷一個(gè)預(yù)測模型的性能表現(xiàn),需要結(jié)合真實(shí)值計(jì)算出精確率、召回率、F1值和Cohen’sKappa系數(shù)等指標(biāo)來衡量。常規(guī)分類模型的評價(jià)方法如下表。方法名稱最佳值sklearn函數(shù)Precision(精確率)1.0metrics.precision_scoreRecall(召回率)1.0metrics.recall_scoreF1值1.0metrics.f1_scoreCohen’sKappa系數(shù)1.0metrics.cohen_kappa_scoreROC曲線最靠近y軸metrics.roc_curve分值越高越好,其使用方法基本相同通常情況下,ROC曲線與x軸形成的面積越大,表示模型性能越好目錄1構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的回歸模型使用sklearn轉(zhuǎn)換器處理線上書籍網(wǎng)站數(shù)據(jù)4構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的聚類模型2構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的分類模型3任務(wù)描述書籍評分通常會影響書籍的銷售和消費(fèi)者的選擇。預(yù)測書籍的評分對于出版商和電商平臺來說非常有價(jià)值,有助于更好地制定營銷策略、定價(jià)策略、出版決策等。本任務(wù)將構(gòu)建回歸模型,預(yù)測書籍的評分。任務(wù)分析(1)對回歸特征進(jìn)行預(yù)處理,包括選取回歸特征與目標(biāo)特征、數(shù)據(jù)標(biāo)準(zhǔn)化和數(shù)據(jù)劃分。(2)利用隨機(jī)森林回歸算法構(gòu)建書籍評分回歸模型。(3)使用平均絕對誤差、均方誤差、R2值、可解釋方差評估書籍評分回歸模型。構(gòu)建基于線上書籍網(wǎng)站數(shù)據(jù)的回歸模型使用sklearn估計(jì)器構(gòu)建線性回歸模型從19世紀(jì)初高斯提出最小二乘估計(jì)法算起,回歸分析的歷史已有200多年。從經(jīng)典的回歸分析方法到近代的回歸分析方法,按照研究方法劃分,回歸分析研究的范圍大致如右圖。使用sklearn估計(jì)器構(gòu)建線性回歸模型在回歸模型中,自變量與因變量具有相關(guān)關(guān)系,自變量的值是已知的,因變量是要預(yù)測的?;貧w算法的實(shí)現(xiàn)步驟和分類算法基本相同,分為學(xué)習(xí)和預(yù)測兩個(gè)步驟。學(xué)習(xí)是通過訓(xùn)練樣本數(shù)據(jù)來擬合回歸方程的。預(yù)測則是利用學(xué)習(xí)過程中擬合出的回歸方程,將測試數(shù)據(jù)放入方程中求出預(yù)測值。使用sklearn估計(jì)器構(gòu)建線性回歸模型常用的回歸模型如下表。模塊名稱函數(shù)名稱算法名稱線性回歸因變量與自變量是線性關(guān)系對一個(gè)或多個(gè)自變量和因變量之間的線性關(guān)系進(jìn)行建模,可用最小二乘估計(jì)法求解模型系數(shù)非線性回歸因變量與自變量之間不都是線性關(guān)系對一個(gè)或多個(gè)自變量和因變量之間的非線性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論