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