欢迎访问宙启技术站
智能推送

使用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()函数进行特征选择和模型评估的一个简单案例。该函数可以帮助我们将原始数据转换为模型可以使用的格式,并且可以轻松地选择所需的特征进行模型训练和评估。