Kaggle機器學習之建模必要流程

2021-08-20 10:52:16 字數 2013 閱讀 9532

kaggle的機器學習教程中,概括了建模的幾個常識或者必要流程:

1.清洗好資料,得到x和y。

2.選擇合適的模型,面對未知的資料和業務需求可以先嘗試不同的模型。

3.將樣本資料分為訓練資料和檢驗資料兩類,訓練資料帶入模型,引數可先從簡,檢驗資料進行模型檢驗。

4.模型引數優化,以防欠擬合和過擬合。

以下為對應** :

清洗好資料,得到x和y。

import pandas as pd

main_file_path = '../input/train.csv' # this is the path to the iowa

data that you will use

data = pd.read_csv(main_file_path)

#target y and input x

y = data.saleprice

predictors = ['lotarea','yearbuilt','1stflrsf','2ndflrsf','fullbath','bedroomabvgr',

'totrmsabvgrd']

x = data[predictors]

用決策樹模型,將樣本資料分為訓練資料和檢驗資料兩類,訓練資料帶入模型,引數可先從簡,檢驗資料進行模型檢驗(mae,平均絕對偏差)。

from sklearn.tree import decisiontreeregressor

from sklearn.model_selection import train_test_split

from sklearn.metrics import mean_absolute_error

train_x, val_x, train_y, val_y = train_test_split(x, y,random_state = 0)

lowa_model = decisiontreeregressor()

lowa_model.fit(train_x,train_y)

val_prices = lowa_model.predict(val_x)

mean_absolute_error(val_y, val_prices)

3.模型引數優化

def

get_mae

(max_leaf_nodes, predictors_train, predictors_val, targ_train, targ_val):

model = decisiontreeregressor(max_leaf_nodes=max_leaf_nodes, random_state=0)

model.fit(predictors_train, targ_train)

preds_val = model.predict(predictors_val)

mae = mean_absolute_error(targ_val, preds_val)

return(mae)

#求得最佳引數

import numpy as np

case =

for max_leaf_nodes in range(5,500):

my_mae = get_mae(max_leaf_nodes, train_x, val_x, train_y, val_y)

# print("max leaf nodes: %d \t\t mean absolute error: %d" %(max_leaf_nodes, my_mae))

case = np.array(case)

print (np.min(case))

ii = np.where(case==np.min(case))

print ("the best leaf nodes is ", ii[0][0]+5)

Kaggle 機器學習 例項3 house

import numpy as np import pandas as pd import matplotlib.pyplot as plt pd.set option display.max columns none pd.set option display.max rows none plt....

初識機器學習(一) Kaggle下的測試學習

新手上路,自然是橫衝直撞。雖然英語不咋樣,還是選擇在kaggle上面跟隨學習。在對python有一些基礎的了解後,便開始直接從比賽中磨練自己。點開kaggle裡learn提供的一些教程,跟隨教程邁出第一步。教程中提供了乙個關於墨爾本房價 的事例來輔助學習。假設你家裡要買房,目前某地正在建一些房子,手...

斯坦福機器學習3之Logistic建模

一 模型引入 對於分類問題,最終 值是離散的,線性回歸不能很好地對這類問題進行建模。logistic模型是對於y 分類問題的可靠模型,其可靠性在glm理論中得到驗證和說明。二 模型說明 1 該模型不是直接對變數x對應的類別號進行 而是對其屬於類別1的概率進行 顯然,如果這個概率大於0.5,我們則可以...