[英]How to train a classification algorithm with normalized data set using scikit-learn python
[英]How to do classification in binary data set using scikit-learn?
我有以下二進制數據集:
[
[1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0],
[1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0],
[1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0]
]
我想將其群集(分散)為3個部分,以使最相似的數組(數組中相同位置的0和1s)聚集在同一組中。
由於我已經知道二進制數據不能立即聚類並且需要減小尺寸。 多種學習算法能夠做到這一點。 我試圖將其減小到2維,然后將其分散在圖上以使其更加用戶友好,多維縮放似乎是最有前途的算法 。 但是,當我將其放在我的數據集中時,它仍然返回相同的數據集而沒有任何減少:
mds = MDS(n_components=2, metric=True, n_init=4, max_iter=300, verbose=0, eps=0.001, n_jobs=1, random_state=None, dissimilarity='euclidean')
mds.fit(X)
return X
知道我做錯了什么或我想念什么嗎? 我正在嘗試將此數據集縮小為2維,然后將其聚類到2d散點圖上,以便基於0和1s位置的相似性將相似的數組組合在一起並緊密組合。
fit()
僅學習數據,而不以任何方式對其進行更改。 您需要調用fit_transform()
以獲取新的轉換數據。 像這樣:
newX = mds.fit_transform(X)
newX
將是您想要的具有2個組件的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.