使用patsydmatrix()函数进行特征选择和模型评估的案例(Python)
发布时间:2023-12-24 11:05:19
下面是一个使用patsy.dmatrix()函数进行特征选择和模型评估的案例。
首先,我们需要导入所需的库:
import pandas as pd from patsy import dmatrix from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score from sklearn.model_selection import train_test_split
接下来,我们加载数据并创建一个DataFrame:
data = {
'age': [32, 45, 18, 36, 52, 28, 55, 40, 33, 20],
'gender': ['M', 'F', 'F', 'M', 'M', 'F', 'M', 'M', 'F', 'F'],
'income': [50000, 60000, 30000, 80000, 90000, 40000, 70000, 60000, 55000, 35000],
'label': [0, 0, 0, 1, 1, 0, 1, 0, 1, 0]
}
df = pd.DataFrame(data)
现在,我们可以使用patsy.dmatrix()函数创建一个设计矩阵,它会将原始数据转换为模型可以使用的格式:
X = dmatrix('age + gender + income', data=df, return_type='dataframe')
y = df['label']
在这个例子中,我们使用了所有的特征(age、gender、income)来创建设计矩阵。返回的X是一个DataFrame,包含了原始数据的转换后的版本。
接下来,我们可以将数据集划分为训练集和测试集:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
然后,我们使用Logistic回归模型进行训练和预测:
model = LogisticRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test)
最后,我们可以使用模型的预测结果评估模型的性能:
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
以上就是使用patsy.dmatrix()函数进行特征选择和模型评估的一个简单案例。该函数可以帮助我们将原始数据转换为模型可以使用的格式,并且可以轻松地选择所需的特征进行模型训练和评估。
