机器学习中的 Python 面试题
Python 是机器学习领域中最常用的编程语言之一,掌握 Python 编程技巧对于从事机器学习工作的人来说至关重要。在机器学习的面试中,面试官经常会以 Python 编程题的形式来考察候选人的编程能力和对机器学习算法的理解程度。本文将介绍一些常见的机器学习中的 Python 面试题,并提供相应的示例代码。
1. 数据清洗
在机器学习的实践中,数据清洗是非常重要的一步,因为数据中常常包含缺失值、异常值等问题,需要进行相应的处理。以下是一个数据清洗的示例代码:
import pandas as pd
# 读取数据集
data = pd.read_csv('data.csv')
# 检查缺失值
missing_values = data.isnull().sum()
print(missing_values)
# 填充缺失值
data['age'].fillna(data['age'].mean(), inplace=True)
# 处理异常值
data = data[data['age'] < 100]
# 保存清洗后的数据集
data.to_csv('cleaned_data.csv', index=False)
2. 特征工程
特征工程是机器学习中另一个重要的环节,它涉及到对原始数据进行处理和转换,以提取更有意义的特征供模型使用。以下是一个特征工程的示例代码:
import pandas as pd
from sklearn.preprocessing import LabelEncoder
from sklearn.feature_extraction.text import CountVectorizer
# 读取数据集
data = pd.read_csv('data.csv')
# 对类别特征进行编码
le = LabelEncoder()
data['gender_code'] = le.fit_transform(data['gender'])
# 提取文本特征
cv = CountVectorizer()
text_features = cv.fit_transform(data['text'])
# 将文本特征与数值特征合并
features = pd.concat([data[['age', 'gender_code']], pd.DataFrame(text_features.toarray())], axis=1)
# 保存特征工程后的数据集
features.to_csv('features.csv', index=False)
3. 模型训练与评估
机器学习的核心是模型的训练和评估,以下是一个简单的示例代码,展示了如何使用 scikit-learn 库中的决策树算法进行训练和评估:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 读取特征工程后的数据集
data = pd.read_csv('features.csv')
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data.drop('label', axis=1), data['label'], test_size=0.2, random_state=42)
# 初始化决策树模型
model = DecisionTreeClassifier()
# 训练模型
model.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
以上是三个常见的机器学习中的 Python 面试题,涵盖了数据清洗、特征工程以及模型训练与评估等环节。掌握这些基本的编程技巧对于从事机器学习工作的人来说非常重要。希望本文的示例代码能够帮助你更好地理解和应用机器学习中的 Python 编程。