PySpark के साथ Feature Engineering
John Hogue
Lead Data Scientist
| FIREPLACES | बनता है | Has_Fireplace |
|---|---|---|
| 1 | ⇨ | 1 |
| 3 | ⇨ | 1 |
| 1 | ⇨ | 1 |
| 2 | ⇨ | 1 |
| 0 | ⇨ | 0 |
from pyspark.ml.feature import Binarizer# डेटा टाइप को double में कास्ट करें df = df.withColumn('FIREPLACES', df['FIREPLACES'].cast('double'))# बाइनराइजिंग ट्रांसफॉर्मर बनाएँ bin = Binarizer(threshold=0.0, inputCol='FIREPLACES', outputCol='FireplaceT') # ट्रांसफॉर्मर लागू करें df = bin.transform(df)# परिणाम देखें df[['FIREPLACES','FireplaceT']].show(3)
+----------+-------------+
|FIREPLACES| FireplaceT|
+----------+-------------+
| 0.0| 0.0|
| 1.0| 1.0|
| 2.0| 1.0|
+----------+-------------+
only showing top 3 rows
from pyspark.ml.feature import Bucketizer# डेटा को बाँटने के नियम तय करें splits = [0, 1, 2, 3, 4, float('Inf')]# बकेटिंग ट्रांसफॉर्मर बनाएँ buck = Bucketizer(splits=splits, inputCol='BATHSTOTAL', outputCol='baths') # ट्रांसफॉर्मर लागू करें df = buck.transform(df)# परिणाम देखें df[['BATHSTOTAL', 'baths']].show(4)
+----------+-----------------+
|BATHSTOTAL|baths |
+----------+-----------------+
| 2| 2.0|
| 3| 3.0|
| 1| 1.0|
| 5| 4.0|
+----------+-----------------+
only showing top 4 rows
| CITY | बनता है | LELM | MAPW | OAKD | STP | WB |
|---|---|---|---|---|---|---|
| LELM - Lake Elmo | ⇨ | 1 | 0 | 0 | 0 | 0 |
| MAPW - Maplewood | ⇨ | 0 | 1 | 0 | 0 | 0 |
| OAKD - Oakdale | ⇨ | 0 | 0 | 1 | 0 | 0 |
| STP - Saint Paul | ⇨ | 0 | 0 | 0 | 1 | 0 |
| WB - Woodbury | ⇨ | 0 | 0 | 0 | 0 | 1 |
from pyspark.ml.feature import OneHotEncoder, StringIndexer
# इंडेक्सर ट्रांसफॉर्मर बनाएँ
stringIndexer = StringIndexer(inputCol='CITY', outputCol='City_Index')
# ट्रांसफॉर्मर को फिट करें
model = stringIndexer.fit(df)
# ट्रांसफॉर्मर लागू करें
indexed = model.transform(df)
# एन्कोडर ट्रांसफॉर्मर बनाएँ
encoder = OneHotEncoder(inputCol='City_Index', outputCol='City_Vec)
# एन्कोडर ट्रांसफॉर्मर लागू करें
encoded_df = encoder.transform(indexed)
# परिणाम देखें
encoded_df[['City_Vec']].show(4)
+-------------+
| City_Vec|
+-------------+
| (4,[],[])|
| (4,[],[])|
|(4,[2],[1.0])|
|(4,[2],[1.0])|
+-------------+
only showing top 4 rows
PySpark के साथ Feature Engineering