亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

python的實(shí)驗(yàn)報(bào)告參考文獻(xiàn) python參考文獻(xiàn)有哪些( 二 )


import matplotlib.pyplot as pltimport numpy as np#-----計(jì)算基尼指數(shù)def gini(p):return (p)*(1 - (p)) + (1 - p)*(1 - (1-p))#-----計(jì)算熵def entropy(p):return - p*np.log2(p) - (1 - p)*np.log2((1 - p))#-----計(jì)算分類誤差def classification_error(p):return 1 - np.max([p, 1 - p])#-----創(chuàng)建一個(gè)從0到1的概率值Numpy數(shù)組,增量為0.01x = np.arange(0.0, 1.0, 0.01)#---不同p值的熵ent = [entropy(p) if p != 0 else None for p in x]#----獲得縮放后的熵sc_ent = [e*0.5 if e else None for e in ent]#--分類錯(cuò)誤err = [classification_error(i) for i in x]#--繪圖fig = plt.figure();plt.figure(figsize=(10,8));ax = plt.subplot(111);for i, lab, ls, c, in zip([ent, sc_ent, gini(x), err], ['Entropy', 'Entropy (scaled)','Gini Impurity','Misclassification Error'],['-', '-', '--', '-.'],['black', 'darkgray','blue', 'brown', 'cyan']):line = ax.plot(x, i, label=lab,linestyle=ls, lw=2, color=c)ax.legend(loc='upper center', bbox_to_anchor=(0.5, 1.15), ncol=3, fancybox=True, shadow=False)ax.axhline(y=0.5, linewidth=1, color='k', linestyle='--')ax.axhline(y=1.0, linewidth=1, color='k', linestyle='--')plt.ylim([0, 1.1])plt.xlabel('p(i=1)')plt.ylabel('Impurity Index')plt.show()練習(xí)問題陳述旨在建立一個(gè)分類模型來預(yù)測(cè)紅酒的質(zhì)量 。
這是一個(gè)典型的多類分類問題 。注意,所有的機(jī)器學(xué)習(xí)模型都對(duì)異常值敏感,因此在構(gòu)建樹之前,應(yīng)該處理由異常值組成的特征/獨(dú)立變量 。
不同特性/獨(dú)立變量的一個(gè)重要方面是它們?nèi)绾蜗嗷プ饔?。皮爾遜相關(guān)可以用來確定數(shù)據(jù)集中兩個(gè)特征之間的關(guān)聯(lián)程度 。然而,對(duì)于像決策樹這樣的基于決策的算法,我們不會(huì)丟棄高度相關(guān)的變量 。
#導(dǎo)入所需的庫(kù)-%matplotlib inlineimport numpy as npimport pandas as pdfrom sklearn.tree import DecisionTreeClassifierimport numpy as npimport pandas as pdimport seaborn as snssns.set(color_codes=True)from matplotlib import pyplot as pltfrom sklearn.model_selection import train_test_split #分為訓(xùn)練集和測(cè)試集from sklearn.tree import DecisionTreeClassifier #構(gòu)建決策樹模型from sklearn import metricsfrom sklearn.metrics import accuracy_score,f1_score,recall_score,precision_score, confusion_matrix #模型驗(yàn)證%matplotlib inlinefrom IPython.display import display #用于在一個(gè)輸出中顯示多個(gè)數(shù)據(jù)幀from sklearn.feature_extraction.text import CountVectorizer#DT不接受字符串作為模型擬合步驟的輸入import missingno as msno_plot #缺失值繪圖wine_df = pd.read_csv('winequality-red.csv',sep=';')數(shù)據(jù)的快速描述性統(tǒng)計(jì)
wine_df.describe().transpose().round(2)檢查缺失值
#非缺失值的條形圖plt.title('#Non-missing Values by Columns')msno_plot.bar(wine_df);異常值檢查和處理
#檢查異常值plt.figure(figsize=(15,15))pos = 1for i in wine_df.columns:plt.subplot(3, 4, pos)sns.boxplot(wine_df[i])pos += 1col_names=['fixed acidity', 'volatile acidity', 'citric acid', 'residual sugar','chlorides', 'free sulfur dioxide', 'total sulfur dioxide', 'density','pH', 'sulphates', 'alcohol']display(col_names)for i in col_names:q1, q2, q3 = wine_df[i].quantile([0.25,0.5,0.75])IQR = q3 - q1lower_cap=q1-1.5*IQRupper_cap=q3+1.5*IQRwine_df[i]=wine_df[i].apply(lambda x: upper_cap if x>(upper_cap) else (lower_cap if x<(lower_cap) else x))上面的異常值使用Q1–1.5*IQR和Q3+1.5*IQR值進(jìn)行提取 。Q1、Q3和IQR分別代表第一四分位數(shù)、第三四分位數(shù)和四分位數(shù)間的范圍 。
sns.pairplot(wine_df);理解不同變量之間的關(guān)系 。注意 。在決策樹中,我們不需要?jiǎng)h除高度相關(guān)的變量,因?yàn)楣?jié)點(diǎn)只使用一個(gè)獨(dú)立變量被劃分為子節(jié)點(diǎn),因此,即使兩個(gè)或多個(gè)變量高度相關(guān),產(chǎn)生最高信息增益的變量也將用于分析 。
plt.figure(figsize=(10,8))sns.heatmap(wine_df.corr(),annot=True,linewidths=.5,center=0,cbar=False,cmap="YlGnBu")plt.show()分類問題對(duì)類別不平衡很敏感 。當(dāng)一個(gè)類值所占比例較大時(shí),就會(huì)出現(xiàn)類不平衡 。類別平衡是通過將因變量“quality”屬性的值組合而產(chǎn)生的 。


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: