from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=0)
from sklearn.neighbors import kneighborsclassifier
clf = kneighborsclassifier(n_neighbors=3)
clf.fit(x_train, y_train)
print("test set predictions: {}".format(clf.predict(x_test)))
print("test set accuracy: ".format(clf.score(x_test, y_test)))
適用於小型資料集,是很好的基準模型,很容易解釋。
from sklearn.linear_model import linearregression
非常可靠的首選演算法,適用於非常大的資料集,也適用於高維資料。
from sklearn.*****_bayes import gaussiannb
只適用於分類問題。比線性模型速度還快,適用於非常大的資料集和高維資料。精度通常要低於線性模型。
from sklearn import tree
速度很快,不需要資料縮放,可以視覺化,很容易解釋。
from sklearn.tree import decisiontreeclassifier
幾乎總是比單棵決策樹的表現要好,魯棒性很好,非常強大。不需要資料縮放。不適用於高維稀疏資料。
from sklearn.ensemble import gradientboostingregressor
精度通常比隨機森林略高。與隨機森林相比,訓練速度更慢,但**速度更快,需要的記憶體也更少。比隨機森林需要更多的引數調節。
from sklearn.svm import linearsvc
對於特徵含義相似的中等大小的資料集很強大。需要資料縮放,對引數敏感。
from sklearn.neural_network import mlpclassifier
可以構建非常複雜的模型,特別是對於大型資料集而言。對資料縮放敏感,對引數選取敏感。大型網路需要很長的訓練時間。
機器學習 模型選擇
第八課 機器學習簡單介紹 第九節 模型選擇 引入包 import pandas as pd import numpy as np from sklearn.model selection import train test split 準備資料集 載入資料 iris data pd.read csv...
機器學習模型的選擇
首先明白乙個事實,那就是如果我們在某個訓練集上訓練擬合得到乙個模型,那麼顯然,這個模型在這個訓練集上的訓練錯誤很有可能會比實際上的泛化錯誤 generalization error 會低 模型overfitting 假如我們把資料集分成 訓練集 和 測試集。然後,在訓練集上訓練得到幾個模型,我們想從...
機器學習模型 知乎 機器學習 模型選擇與評價
交叉驗證 首先選擇模型最簡單的方法就是,利用每一種機器學習演算法 邏輯回歸 svm 線性回歸等 計算訓練集的損失值,然後選擇其中損失值最小的模型,但是這樣是不合理的,因為當訓練集不夠 特徵過多時容易過擬合,那麼訓練集的損失值就會不斷變小,但是此時針對測試集可能損失值很高,所以訓練集上的損失值是無法衡...