在Kaggle上进行房价预测数据挖掘练习的时,看到一些示例在对特征进行预处理时的代码使用了class类、使用scikit-learn中的模块进行构建pipeline等知识,如:
class labelenc(BaseEstimator, TransformerMixin):
def __init__(self):
pass
def fit(self,X,y=None):
return self
def transform(self,X):
lab=LabelEncoder()
X["YearBuilt"] = lab.fit_transform(X["YearBuilt"])
X["YearRemodAdd"] = lab.fit_transform(X["YearRemodAdd"])
X["GarageYrBlt"] = lab.fit_transform(X["GarageYrBlt"])
return X
要想理解这段代码,需要从class类入手,来一步一步解读。本内容非原创,只是阅读汇总的学习笔记,具体来源见Reference。
Reference
- Python入门 类class 基础篇 - 知乎:强烈推荐,讲解清晰易懂。
- Python class:定义类(入门必读)C语言中文网的讲解也不错
- Kaggle-HousePrices/HousePrices Kernel.ipynb at master · massquantity/Kaggle-HousePrices · GitHubKaggle Kernel for House Prices competition https://www.kaggle.com/massquantity/all-you-need-is-pca-lb-0-11421-top-4 - Kaggle-HousePrices/HousePrices Kernel.ipynb at master · massquantity/Kaggle-HousePrices
https://github.com/massquantity/Kaggle-HousePrices/blob/master/HousePrices%20Kernel.ipynb房价预测代码来源
1 Python中的类Class
类是模板,而实例则是根据类创建的对象。类仅仅充当图纸的作用,本身并不能直接拿来用,而只有根据图纸造出的实际物品(对象)才能直接使用。如果不理解