使用SGDClassifier()进行二元分类的Python代码示例
发布时间:2024-01-05 14:30:06
SGDClassifier()是一种基于随机梯度下降法的分类器,可用于二元分类问题。下面是一个使用SGDClassifier()进行二元分类的Python代码示例:
from sklearn.linear_model import SGDClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 生成一个二元分类数据集
X, y = make_classification(n_samples=1000, n_features=20, n_informative=10, n_classes=2, random_state=42)
# 将数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建SGDClassifier对象,设置参数
clf = SGDClassifier(loss='log', random_state=42)
# 使用训练集拟合分类器模型
clf.fit(X_train, y_train)
# 使用测试集进行预测
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"准确率: {accuracy}")
在上面的代码中,首先使用make_classification()生成一个二元分类数据集,其中n_samples表示样本数,n_features表示特征数,n_informative表示有信息价值的特征数,n_classes表示类别数。然后,将数据集划分为训练集和测试集,其中test_size表示测试集占总数据集的比例。接下来,创建SGDClassifier对象,通过设置loss参数为'log'来表示使用逻辑回归作为分类器模型。然后使用训练集拟合分类器模型。最后,使用测试集进行预测,并计算准确率。
这是一个简单的SGDClassifier二元分类的例子,你可以根据自己的数据集和需求,调整代码中的参数以获得更好的分类效果。
