【數據準備】_變量分析和隨機抽樣_python &R

1.單變量分析

計算gini值,或者iv或者ks
見另一篇文章

2.多變量分析
計算皮爾遜相關係數
python

import matplotlib.pyplot as plt
import seaborn as sns

data3_corr=data3.corr()

data3_corr.to_csv('trade_5_csv.csv')

sns.heatmap(data3_corr)
plt.show()

3.隨機抽樣

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)

n: 要抽取的行數,需爲整數值
frac:抽取的比列,需爲小數值,比方說我們想隨機抽取30%的數據,則設置frac=0.3即可。
replace:抽樣後的數據是否代替原DataFrame(),默認爲False
weights:默認爲等概率加權
random_state:隨機種子,本質是一個控制器,設置此值爲任意實數,則每次隨機的結果是一樣的
axis:抽取數據的行還是列,axis=0的時是抽取行,axis=1時是抽取列

4.隨機劃分訓練集和測試集

train_test_split是交叉驗證中常用的函數,功能是從樣本中隨機的按比例選取train data和test data。

語法:

X_train,X_test, y_train, y_test =
cross_validation.train_test_split(train_data,train_target,test_size=0.4, random_state=0)
參數:

train_data:所要劃分的樣本特徵集
train_target:所要劃分的樣本結果
test_size:樣本佔比,如果是整數就是樣本的數量
random_state:隨機數的種子

隨機數種子:

其實就是該組隨機數的編號,在需要重複試驗的時候,保證得到一組一樣的隨機數。比如你每次都填1,其他參數一樣的情況下你得到隨機數組是一樣的。但填0或不填,每次都不一樣。

隨機數的產生取決於種子,隨機數和種子之間的關係遵從以下兩個規則:

種子不同,產生不同的隨機數;種子相同,即使實例不同也產生相同的隨機數。

官方鏈接
官方樣例1

>>> import numpy as np
>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((5, 2)), range(5)
>>> X
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])
>>> list(y)
[0, 1, 2, 3, 4]
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[4, 5],
       [0, 1],
       [6, 7]])
>>> y_train
[2, 0, 3]
>>> X_test
array([[2, 3],
       [8, 9]])
>>> y_test
[1, 4]
>>> train_test_split(y, shuffle=False)
[[0, 1, 2], [3, 4]]

例子2

from sklearn.model_selection import train_test_split
data_train,data_test = train_test_split(data5,test_size=0.3, random_state=0)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章