import pandas as pd
import numpy as np
import tflearn
from sklearn.preprocessing import labelencoder,onehotencoder
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import standardscaler
from sklearn.tree import decisiontreeclassifier as dtc
from sklearn.metrics import classification_report
from sklearn.ensemble import randomforestclassifier as rfc
#資料預處理
data=pd.read_csv(r'd:\python\customer_churn.csv')
df=data.iloc[:,3:]
x=df.iloc[:,:10]
y=df.exited
x.geography=labelencoder().fit_transform(x.geography)#標籤化
x.gender=labelencoder().fit_transform(x.gender)
x=onehotencoder(categorical_features=[1]).fit_transform(x).toarray()#獨熱碼
# y= y[:, np.newaxis]
y=y.values.reshape(10000,1)
y=onehotencoder().fit_transform(y).toarray()
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=1)#random_state表示隨機種子
x_train=standardscaler().fit_transform(x_train)
x_test=standardscaler().fit_transform(x_test)
# clf=dtc().fit(x_train,y_train)#決策樹
clf=rfc(n_estimators=50).fit(x_train,y_train)#隨機森林
result=classification_report(y_test,clf.predict(x_test))
# print(result)
net=tflearn.input_data(shape=[none,11])#輸入層
net=tflearn.fully_connected(net,6,activation='relu')#隱藏層1
net=tflearn.fully_connected(net,6,activation='relu')#隱藏層2
net=tflearn.fully_connected(net,6,activation='relu')#隱藏層3
net = tflearn.fully_connected(net, n_units=2, activation='softmax')#輸出層2表示輸出單元
net = tflearn.regression(net)
model=tflearn.dnn(net)
model.fit(x_train, y_train, n_epoch=30, batch_size=32, show_metric=true)#n_epoch:資料訓練幾個輪次batch_size:每一次輸入給模型的資料行數show_metric:訓練過程中要不要列印結果
深度學習 驗證集 測試集 區別
類別 驗證集測試集 是否被訓練到否否 作用純粹用於調超引數 純粹為了加試以驗證泛化效能 使用次數 多次使用,以不斷調參 僅僅一次使用 缺陷模型在一次次重新手動調參並繼續訓練後所逼近的驗證集,可能只代表一部分非訓練集,導致最終訓練好的模型泛化效能不夠 測試集為了具有泛化代表性,往往資料量比較大,測試一...
openGL 深度測試
opengl裡常出現深度測試,一直不清楚。今天就來弄清楚。1 什麼是深度?深度其實就是該象素點在3d世界中距離攝象機的距離 繪製座標 深度快取中儲存著每個象素點 繪製在螢幕上的 的深度值!深度值 z值 越大,則離攝像機越遠。深度值是存貯在深度快取裡面的,我們用深度快取的位數來衡量深度快取的精度。深度...
openGL 深度測試
opengl裡常出現深度測試,一直不清楚。今天就來弄清楚。1 什麼是深度?深度其實就是該象素點在3d世界中距離攝象機的距離 繪製座標 深度快取中儲存著每個象素點 繪製在螢幕上的 的深度值!深度值 z值 越大,則離攝像機越遠。深度值是存貯在深度快取裡面的,我們用深度快取的位數來衡量深度快取的精度。深度...