接下来画出花萼长度和花萼宽度的散点图,然后画出经过标准差标准化后的散点图
时间: 2024-03-05 08:55:02 浏览: 88
画花朵的形状
好的,我们可以使用matplotlib库来绘制散点图。以下是代码实现的步骤:
1. 导入所需的库
```python
import pandas as pd
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
```
2. 读取Excel文件
```python
df = pd.read_excel('iris.xlsx')
```
3. 绘制花萼长度和花萼宽度的散点图
```python
plt.scatter(df['SepalLength'], df['SepalWidth'])
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.title('Scatter Plot of Sepal Length vs. Sepal Width')
plt.show()
```
这里我们使用plt.scatter()函数绘制散点图,并为x轴和y轴设置标签和标题。
4. 对特征进行标准差标准化并绘制散点图
```python
scaler = StandardScaler()
df_scaled = scaler.fit_transform(df.iloc[:, :-1])
plt.scatter(df_scaled[:, 0], df_scaled[:, 1])
plt.xlabel('Sepal Length (Standardized)')
plt.ylabel('Sepal Width (Standardized)')
plt.title('Scatter Plot of Standardized Sepal Length vs. Standardized Sepal Width')
plt.show()
```
这里我们使用StandardScaler类对除了最后一列外的所有列进行标准差标准化,并将处理后的数据存储在df_scaled中。然后,我们使用plt.scatter()函数绘制散点图,并为x轴和y轴设置标签和标题。
完整的代码如下:
```python
import pandas as pd
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
df = pd.read_excel('iris.xlsx')
plt.scatter(df['SepalLength'], df['SepalWidth'])
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.title('Scatter Plot of Sepal Length vs. Sepal Width')
plt.show()
scaler = StandardScaler()
df_scaled = scaler.fit_transform(df.iloc[:, :-1])
plt.scatter(df_scaled[:, 0], df_scaled[:, 1])
plt.xlabel('Sepal Length (Standardized)')
plt.ylabel('Sepal Width (Standardized)')
plt.title('Scatter Plot of Standardized Sepal Length vs. Standardized Sepal Width')
plt.show()
```
执行代码后,你将会得到两张散点图。第一张是花萼长度和花萼宽度的散点图,第二张是经过标准差标准化后的散点图。你可以观察到,第二张图中的数据点更加集中在原点附近,且x轴和y轴的范围也变得更小了。
阅读全文