資料探勘比賽,構建矩陣時的腦殘行為

2022-09-13 18:12:08 字數 1716 閱讀 3727

scipy.sparse.hstack(blocks, format=none, dtype=none

)[source]

¶stack sparse matrices horizontally (column wise)

parameters:

blockssequence of sparse matrices with compatible shapes

format: str

dtype: dtype, optional

the data-type of the output matrix. if not given, the dtype is determined from that of blocks.

上面是出錯函式

再比賽中,把特徵變為係數矩陣,照著開源來改的:

base_train_csr = np.float64(train_x[num_feature])

base_predict_csr = np.float64(predict_x[num_feature])

enc = onehotencoder()

for feature in short_cate_feature:

enc.fit(data[feature].values.reshape(-1, 1))

base_train_csr = sparse.hstack((base_train_csr, enc.transform(train_x[feature].values.reshape(-1, 1))), 'csr','bool')

base_predict_csr = sparse.hstack((base_predict_csr, enc.transform(predict_x[feature].values.reshape(-1, 1))), 'csr', 'bool')

print('one-hot prepared !')

cv = countvectorizer(min_df=20)

for feature in long_cate_feature:

cv.fit(data[feature])

base_train_csr = sparse.hstack((base_train_csr, cv.transform(train_x[feature])), 'csr', 'int')

base_predict_csr = sparse.hstack((base_predict_csr, cv.transform(predict_x[feature])), 'csr','int')

print('cv prepared !')

特徵放如lgb,loss急速下降驚了。一晚上沒找到原因,

今天從頭做簡單實驗,找到原因。

上面,我先對數值特徵,直接用np轉換,類別較少的特徵,用onehot編碼,問題就出現在這: sparse.hstack( , 'csr','bool')

我把float(64)的矩陣直接與bool行的矩陣相連,然後轉化為成了bool形,腦殘啊,前面的數值特徵全都沒用了。。。。。。。。。。。。。。。。

總結:以後再使用hstack的時候,要從粗粒度往細粒度加,如bool->int32->float32->float64,,要不然細粒度的特徵就會被壓縮,資訊損失很多

GEO資料探勘構建基因表達矩陣

1 geo資料庫介紹 geo全稱gene expression omnibus,由美國國立生物技術資訊中心ncbi建立並維護的基因表達資料庫。建立於2000年,收錄世界各國研究機構提交的高通量基因表達資料。geo上有四類資料gsm,gse,gds,gpl 1.gsm是單個樣本的實驗資料 2.gds是...

k均值例子 資料探勘 資料探勘比賽的一些經驗心得

資料去噪 無論是資料探勘的比賽也好,還是日常生活中的各種專案也好,我們拿到手的資料集含有雜訊資料是很正常的。雜訊會降低我們的資料質量,從而影響我們模型的效果。因此,對雜訊的處理是必須的,這一點是眾所周知的事情。但是,在去噪的過程中我們也要注意以下問題。在我們這些天做的乙個比賽上,乙個隊友,拿著沒有好...

資料探勘中的矩陣基礎(2)

行列式,是用來分析矩陣的特徵的。比如線性方程組的係數可以組成矩陣,線性方程組解的情況,可以通過消元法得到,然而對於任意的方程組,有事想看到的解的資訊,不需要消元法那麼繁瑣的程式最後才看到,比如,要判斷是否有解,用行列式的話就特別容易。還有,通過使用行列式計算特徵值,可以看到某矩陣的特質,從而實現矩陣...