Python में Unsupervised Learning
Benjamin Wilson
Director of Research at lateral.io
3 अलग-अलग रेड वाइन वेरायटीज़ के 178 सैंपल: Barolo, Grignolino और Barbera
फीचर्स रासायनिक संरचना मापते हैं, जैसे alcohol content
दृश्य गुण, जैसे "color intensity"
from sklearn.cluster import KMeans
model = KMeans(n_clusters=3)
labels = model.fit_predict(samples)
df = pd.DataFrame({'labels': labels, 'varieties': varieties}) ct = pd.crosstab(df['labels'], df['varieties'])print(ct)
varieties Barbera Barolo Grignolino
labels
0 29 13 20
1 0 46 1
2 19 0 50
वाइन फीचर्स की variances बहुत अलग हैं!
किसी फीचर की variance उसके मानों के फैलाव को मापती है
feature variance
alcohol 0.65
malic_acid 1.24
...
od280 0.50
proline 99166.71

वाइन फीचर्स की variances बहुत अलग हैं!
किसी फीचर की variance उसके मानों के फैलाव को मापती है
feature variance
alcohol 0.65
malic_acid 1.24
...
od280 0.50
proline 99166.71

kmeans में: फीचर variance = फीचर का प्रभाव
StandardScaler हर फीचर को mean 0 और variance 1 में बदलता है
ऐसे फीचर्स "standardized" कहलाते हैं

from sklearn.preprocessing import StandardScalerscaler = StandardScaler()scaler.fit(samples) StandardScaler(copy=True, with_mean=True, with_std=True)samples_scaled = scaler.transform(samples)
StandardScaler और KMeans की मेथड्स मिलती-जुलती हैं
StandardScaler के साथ fit() / transform() का प्रयोग करें
KMeans के साथ fit() / predict() का प्रयोग करें
दो स्टेप चाहिए: पहले StandardScaler, फिर KMeans
कई स्टेप जोड़ने के लिए sklearn pipeline का उपयोग करें
डेटा एक स्टेप से अगले में बहता है
from sklearn.preprocessing import StandardScaler from sklearn.cluster import KMeans scaler = StandardScaler() kmeans = KMeans(n_clusters=3)from sklearn.pipeline import make_pipelinepipeline = make_pipeline(scaler, kmeans)pipeline.fit(samples)
Pipeline(steps=...)
labels = pipeline.predict(samples)
फीचर standardization के साथ:
varieties Barbera Barolo Grignolino
labels
0 0 59 3
1 48 0 3
2 0 0 65
बिना फीचर standardization परिणाम बहुत खराब थे:
varieties Barbera Barolo Grignolino
labels
0 29 13 20
1 0 46 1
2 19 0 50
StandardScaler एक "preprocessing" स्टेप है
MaxAbsScaler और Normalizer अन्य उदाहरण हैं
Python में Unsupervised Learning