Jupyter实现softMax回归和简单回归代码
时间: 2024-10-13 07:13:55 浏览: 32
softmax回归相关Python代码(未完待续)
Jupyter Notebook是一个交互式的数据分析环境,常用于数据科学和机器学习实验。下面是使用Python的scikit-learn库,在Jupyter Notebook中实现softmax回归和简单线性回归的一个基础示例:
**一、简单线性回归**
```python
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
# 假设我们有数据集X和y
X = np.random.rand(100, 1) # 100个样本,每个样本有一个特征
y = 2 + 3 * X[:, 0] + np.random.rand(100, 1) # 线性关系生成的目标值
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 创建并训练模型
model = LinearRegression()
model.fit(X_train, y_train)
# 预测和评估
predictions = model.predict(X_test)
```
**二、Softmax回归(通常用于多分类任务)**
在多类别分类中,你可以使用`sklearn.preprocessing.OneHotEncoder`配合`sklearn.linear_model.LogisticRegression`来实现softmax回归:
```python
from sklearn.preprocessing import OneHotEncoder
from sklearn.linear_model import LogisticRegression
# 假设我们有一维多类别标签
labels = np.random.randint(0, 5, size=(100,))
one_hot_encoder = OneHotEncoder(sparse=False)
labels_encoded = one_hot_encoder.fit_transform(labels.reshape(-1, 1))
# 假设我们有输入特征X
X = np.random.rand(100, 1)
# 同样划分数据
X_train, X_test, y_train, y_test = train_test_split(X, labels_encoded, test_size=0.2)
# 创建并训练模型
softmax_model = LogisticRegression(multi_class='multinomial')
softmax_model.fit(X_train, y_train)
# 预测
predictions = softmax_model.predict(X_test)
```
阅读全文