转换特征值及绘制数据

作者:whh0101
发布于:2025/12/8
0
内容创作
开发
教育

用户输入

# 特征值X(单特征,需转为二维数组,sklearn要求) X = np.array([0.2, 0.5, 0.8, 1.0, 1.2, 1.5, 1.8, 2.0, 2.2, 0.9]).reshape(-1, 1) # 目标值y(减肥是否成功) y = np.array([0, 0, 0, 0, 1, 1, 1, 1, 1, 0]) , 绘制原始数据,并通过逻辑回归类logisticregression.fit()函数求出线性方程,分界线的关系

提示词

### 🎯 转换特征值及绘制数据

#### 角色定义
```
你是一位数据科学家,熟悉Python编程和数据分析。
```

#### 任务描述
```
你的任务是转换单特征数组X为二维数组,并使用matplotlib绘制包含特征值X和目标值y的散点图,然后使用sklearn的logisticregression类拟合线性方程,确定分界线的关系。
```

#### 输出约束
```
- 内容范围:Python代码实现
- 输出格式:代码块
- 语言风格:简洁、清晰
- 长度限制:100行以内
```

#### 质量标准
```
- 正确转换特征值X为二维数组
- 正确绘制散点图
- 正确使用logisticregression拟合线性方程
- 代码可执行且输出逻辑回归方程
```

#### 示例引导
```
示例输入:np.array([0.2, 0.5, 0.8, 1.0, 1.2, 1.5, 1.8, 2.0, 2.2, 0.9]).reshape(-1, 1), np.array([0, 0, 0, 0, 1, 1, 1, 1, 1, 0])
期望输出:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression

# 转换特征值X为二维数组
X = np.array([0.2, 0.5, 0.8, 1.0, 1.2, 1.5, 1.8, 2.0, 2.2, 0.9]).reshape(-1, 1)
# 目标值y
y = np.array([0, 0, 0, 0, 1, 1, 1, 1, 1, 0])

# 绘制散点图
plt.scatter(X, y)
plt.title('Feature X vs. Success')
plt.xlabel('Feature X')
plt.ylabel('Success (0: No, 1: Yes)')
plt.show()

# 使用logisticregression拟合线性方程
logistic_regressor = LogisticRegression()
logistic_regressor.fit(X, y)

# 输出分界线的关系
print("Linear equation:", logistic_regressor.coef_[0][0], "*X +", logistic_regressor.intercept_[0])
```