資源簡介
本資源包含數據,代碼,解釋,相應的文件。代碼是練習用的,文章中的代碼都可以運行出來,是很好的一個練手項目。

代碼片段和文件信息
###########################################
#?Suppress?matplotlib?user?warnings
#?Necessary?for?newer?version?of?matplotlib
import?warnings
warnings.filterwarnings(“ignore“?category?=?UserWarning?module?=?“matplotlib“)
#
#?Display?inline?matplotlib?plots?with?IPython
from?IPython?import?get_ipython
get_ipython().run_line_magic(‘matplotlib‘?‘inline‘)
###########################################
import?matplotlib.pyplot?as?pl
import?numpy?as?np
from?sklearn.model_selection?import?learning_curve?validation_curve
from?sklearn.tree?import?DecisionTreeRegressor
from?sklearn.model_selection?import?ShuffleSplit?train_test_split
def?ModelLearning(X?y):
????“““?Calculates?the?performance?of?several?models?with?varying?sizes?of?training?data.
????????The?learning?and?validation?scores?for?each?model?are?then?plotted.?“““
????
????#?Create?10?cross-validation?sets?for?training?and?testing
????cv?=?ShuffleSplit(n_splits?=?10?test_size?=?0.2?random_state?=?0)
????#?Generate?the?training?set?sizes?increasing?by?50
????train_sizes?=?np.rint(np.linspace(1?X.shape[0]*0.8?-?1?9)).astype(int)
????#?Create?the?figure?window
????fig?=?pl.figure(figsize=(107))
????#?Create?three?different?models?based?on?max_depth
????for?k?depth?in?enumerate([13610]):
????????
????????#?Create?a?Decision?tree?regressor?at?max_depth?=?depth
????????regressor?=?DecisionTreeRegressor(max_depth?=?depth)
????????#?Calculate?the?training?and?testing?scores
????????sizes?train_scores?valid_scores?=?learning_curve(regressor?X?y?\
????????????cv?=?cv?train_sizes?=?train_sizes?scoring?=?‘r2‘)
????????
????????#?Find?the?mean?and?standard?deviation?for?smoothing
????????train_std?=?np.std(train_scores?axis?=?1)
????????train_mean?=?np.mean(train_scores?axis?=?1)
????????valid_std?=?np.std(valid_scores?axis?=?1)
????????valid_mean?=?np.mean(valid_scores?axis?=?1)
????????#?Subplot?the?learning?curve?
????????ax?=?fig.add_subplot(2?2?k+1)
????????ax.plot(sizes?train_mean?‘o-‘?color?=?‘r‘?label?=?‘Training?Score‘)
????????ax.plot(sizes?valid_mean?‘o-‘?color?=?‘g‘?label?=?‘Validation?Score‘)
????????ax.fill_between(sizes?train_mean?-?train_std?\
????????????train_mean?+?train_std?alpha?=?0.15?color?=?‘r‘)
????????ax.fill_between(sizes?valid_mean?-?valid_std?\
????????????valid_mean?+?valid_std?alpha?=?0.15?color?=?‘g‘)
????????
????????#?Labels
????????ax.set_title(‘max_depth?=?%s‘%(depth))
????????ax.set_xlabel(‘Number?of?Training?Points‘)
????????ax.set_ylabel(‘r2_score‘)
????????ax.set_xlim([0?X.shape[0]*0.8])
????????ax.set_ylim([-0.05?1.05])
????
????#?Visual?aesthetics
????ax.legend(bbox_to_anchor=(1.05?2.05)?loc=‘lower?left‘?borderaxespad?=?0.)
????fig.suptitle(‘Decision?Tree?Regressor?Learning?Performances‘?fontsize?=?16?y?=?1.03)
????fig.tight_layout()
????fig.show()
def?ModelComplexity(X?y):
????“““?Calculates?the?performance?of?the?model?as?model?complexity?increases.
????????The?learning?and?validation?errors?rates?are?then?pl
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????784??2018-12-17?13:57??boston_housing\.gitignore
?????文件??????30918??2018-12-17?13:57??boston_housing\boston_housing.ipynb
?????文件??????12435??2018-12-17?13:57??boston_housing\housing.csv
?????文件???????1554??2018-12-17?13:57??boston_housing\README.md
?????文件???????5046??2018-12-17?13:57??boston_housing\visuals.py
?????目錄??????????0??2018-12-17?13:57??boston_housing
-----------?---------??----------?-----??----
????????????????50737????????????????????6
- 上一篇:軟件測試報告.doc
- 下一篇:IDEA導入eclipse常用快捷鍵
評論
共有 條評論