jupyter中rand和randn
时间: 2024-06-16 07:05:51 浏览: 131
在Jupyter中,`rand`和`randn`是Numpy库中的两个函数,用于生成随机数。
1. `rand`函数生成的是服从均匀分布的随机数,范围在0到1之间[^1]。下面是一个使用`rand`函数生成随机散点图的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
num = 50
x = np.random.rand(num)
y = np.random.rand(num)
area = (30 * np.random.rand(num)) ** 2
plt.scatter(x, y, s=area)
plt.show()
```
这段代码会生成一个包含50个随机散点的散点图。
2. `randn`函数生成的是服从标准正态分布的随机数,均值为0,标准差为1[^2]。下面是一个使用`randn`函数生成随机数据的例子:
```python
import numpy as np
import pandas as pd
s = pd.DataFrame(np.random.randn(5, 4))
print(s)
```
这段代码会生成一个5行4列的随机数据矩阵。
相关问题
python numpy jupyternotebook
### Python NumPy Jupyter Notebook 示例教程
#### 创建并初始化数组
在Jupyter Notebook中使用NumPy库可以方便地处理多维数组。首先,需要导入NumPy模块:
```python
import numpy as np
```
接着可以通过列表来创建一维或多维的NumPy数组[^3]。
```python
# 一维数组
arr_1d = np.array([1, 2, 3])
print('One-dimensional array:', arr_1d)
# 二维数组
arr_2d = np.array([[1, 2], [3, 4]])
print('Two-dimensional array:\n', arr_2d)
```
#### 数组操作与函数应用
利用NumPy内置的方法可以直接对整个数组进行运算而不必循环遍历每一个元素,这大大提高了效率和可读性。
```python
# 对数组中的每个元素加5
result_addition = arr_1d + 5
print('Addition result:', result_addition)
# 计算平方根
sqrt_result = np.sqrt(arr_1d)
print('Square root of elements:', sqrt_result)
```
#### 随机数生成
为了模拟数据集或是测试算法性能,经常需要用到随机数生成功能。NumPy提供了丰富的接口用于此目的。
```python
# 生成服从标准正态分布的随机浮点数矩阵 (形状为3x3)
rand_matrix = np.random.randn(3, 3)
print('Random matrix from standard normal distribution:\n', rand_matrix)
```
#### 文件输入输出
除了内存中的操作外,保存或加载外部存储的数据也是常见的需求之一。这里展示如何将NumPy数组保存到`.npy`文件以及从该种格式恢复原始数据。
```python
np.save('my_array.npy', arr_2d) # 将数组存入名为 'my_array.npy' 的二进制文件
loaded_arr = np.load('my_array.npy') # 加载刚才保存的数组
print('Loaded array from file:\n', loaded_arr)
```
通过上述例子可以看出,在Jupyter Notebook环境中运用NumPy能够极大地简化数值计算过程,并且保持良好的交互性和直观性。
jupyter实现支持向量机
在Jupyter中实现支持向量机可以使用scikit-learn库来调用相关的方法。首先,你需要导入所需的库和数据。然后,你可以使用LinearSVR类来创建一个支持向量机模型,并设置一些参数,如epsilon。接下来,使用fit()方法来拟合模型。最后,你可以使用predict()方法来进行预测,并使用find_support()函数找到支持向量的下标。以下是一个示例代码:
```python
import numpy as np
from sklearn.svm import LinearSVR
# 初始化数据
np.random.seed(42)
m = 50
X = 2 * np.random.rand(m, 1)
y = (4 + 3 * X + np.random.randn(m, 1)).ravel()
# 创建支持向量机模型
svr = LinearSVR(epsilon=0.3)
svr.fit(X, y)
# 找到支持向量的下标
def find_support(svr, X, y):
y_pred = svr.predict(X)
margin = (np.abs(y - y_pred) >= svr.epsilon)
return np.argwhere(margin)
svr.support_ = find_support(svr, X, y)
```
这段代码演示了如何使用LinearSVR类来实现支持向量机,并找到支持向量的下标。你可以根据自己的数据和需求进行相应的调整。
#### 引用[.reference_title]
- *1* [Python机器学习11——支持向量机](https://blog.csdn.net/weixin_46277779/article/details/125521540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [机器学习05|一万五字:SVM支持向量机02 【jupyter代码详解篇】](https://blog.csdn.net/IanYue/article/details/127585311)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文