请给我一个用python对wine数据集使用逻辑回归进行分类预测的代码,该代码包括对wine数据集进行标准化处理,给出各特征的相关系数和模型的截距并进行可视化分析,以及可以利用测试集对学习到的模型进行评价
时间: 2023-05-31 19:08:00 浏览: 100
以下是一个用Python对wine数据集使用逻辑回归进行分类预测的示例代码:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score, confusion_matrix
# 加载数据集
wine = load_wine()
df = pd.DataFrame(wine.data, columns=wine.feature_names)
# 标准化处理特征
scaler = StandardScaler()
df_scaled = scaler.fit_transform(df)
# 将标准化后的特征和标签组合成数据集
X = df_scaled
y = wine.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 逻辑回归模型拟合
clf = LogisticRegression()
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 评价模型
accuracy = accuracy_score(y_test, y_pred)
confusion = confusion_matrix(y_test, y_pred)
# 打印结果
print("Accuracy:", accuracy)
print("Confusion Matrix:\n", confusion)
# 可视化分析
coef = clf.coef_[0]
labels = wine.feature_names
plt.bar(np.arange(len(labels)), coef)
plt.xticks(np.arange(len(labels)), labels, rotation=90)
plt.show()
# 输出模型的截距
print("Intercept:", clf.intercept_)
# 输出各特征的相关系数
print("Coefficients:", clf.coef_)
```
是的,这份代码可以对wine数据集使用逻辑回归进行分类预测,并进行了标准化处理、相关系数可视化和测试数据集评价。
阅读全文