python机器学习——1(数组)

import numpy as np  #有关数组矩阵运算的库,由c/C++,fortran代码通过线性代数傅里叶变换和随机数生成函数实现
#底层是ndarray结构,shape:数组形状及几行几列。data:数组数据。dtype:数据类型。strides:当前位置到下一个位置需要跨越的字节数。order:访问元素顺序’C'行'F‘列。
a = np.array([1,2,3])# a为整体
print(a)
a += 1  # 整体加一
print (a)

创建数组:

import numpy as np
a = np.array([[1,2,3],[4,5,6]],dtype = np.complex)# 二维数组
print(a)
a.shape = (3,2) #调整数组大小
#两行三列改为三行两列,总元素个数不变
print(a)
#产生数组的函数
import numpy as np 
x1 = np.empty([3,2],dtype = int)
#创建一个空数组,参数为:数组形状,数据类型,元素值是不确定的因为没有初始化,空间元素为原先元素
print(x1)

x2 = np.zeros([3,2], dtype = np.int, order = 'C')#order = 'F'是列为主的数组order = ‘C'是行为主的数组
#创建一个全0数组
print(x2)
x3 = np.zeros([2,2],dtype = [('x','i4'),('y','i4')])#创建自定义类型
print(x3)
x4 = np.ones([2,2],dtype = int,order = 'C')
#创建一个全1数组
print(x4)

用各种方法创建不同类型数组:

#产生数列的函数
import numpy as np 
arr1 = range(0,5,1)
#创建一个数列,参数依次为:开始,结束,步长为整数默认为1,未指定元素个数
print(arr1)
arr2 = np.arange(3,9,0.2)
#创建一个数列参数依次为开始,结束,步长,未指定元素个数,不包含最大值
print(arr2)
arr3 = np.linspace(1,5,10)
#创建一个数列,参数依次为开始,结束,数字个数,未指定元素间隔,可包含最大值
print(arr3)

用随机函数创建数组:

#使用随机函数创建数组
import numpy as np 
x1 = np.random.rand(2,3)
#产生两行三列随机浮点数组,值范围为0到1
print(x1)
x2 = np.random.randint(0,10,(2,2),dtype = int)
#参数:值范围从0到10,行列,值类型:只可选int相关的,默认整数数组
print(x2)
x3 = np.random.random(2,3)
#类似x1
print(x3)
x4 = np.random.uniform(1,2,(2,3))
#浮点类型数组,参数:值范围1~2,行列
print(x4)

数组切片:

arr = np.arange(24).reshape(4,6)
#首先产生一个数列然后通过reshape将一维变为二维4行6列的数组
print(arr)
arr1 = arr[1:3,1:3]
#留下数组的第一行到第二行(写3是不包含第3行的),保留列的第一列到第二列(写3是不包含第3列的)
print(arr1)
arr1 = arr[1: , :3]
#末尾不写默认最后一行/列,起始不写默认第一行/列
print(arr1)
#生成一个2*3*4的三维数组(即想象一个正方体(即两个3*4的二维数组叠起来就成为了三维)切片保留两个二维数组的第一行得到一个2*4的数组
import numpy as np 
arr1 = np.arange(12).reshape(3,4)
arr11 = arr1[:1,:]
arr2 = np.arange(12).reshape(3,4)
arr22 = arr2[:1,:]
arr3 = np.array([arr1,arr2])
#np.array将其他数据结构转换为数组类型
arr33 = np.array([arr11,arr22])
print(arr3)
print(arr33)

#——————————————————————————————————————
arr5 = np.arange(12).reshape(2,3,4)
arr6 = arr5[0:2,0,0:5]
print(arr6)
#可以直接形成多维数组

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
线性回归是一种基本的机器学习算法,可以用于预测连续型变量的值。在Python中,可以使用NumPy和Scikit-learn库实现线性回归。 假设我们有3个数组x、y和z,分别表示自变量、因变量和要预测的变量。我们可以使用Scikit-learn库实现线性回归,如下所示: ``` python import numpy as np from sklearn.linear_model import LinearRegression # 创建输入和输出数组 x = np.array([1, 2, 3, 4, 5]).reshape((-1, 1)) y = np.array([2, 4, 6, 8, 10]) z = np.array([6, 7, 8, 9, 10]) # 创建线性回归对象 model = LinearRegression() # 训练模型 model.fit(x, y) # 预测 z z_pred = model.predict(np.array([6]).reshape((-1, 1))) print(z_pred) ``` 在这个例子中,我们使用了NumPy库创建了输入和输出数组x和y,然后使用Scikit-learn库的LinearRegression类创建了一个线性回归对象。我们使用fit()方法训练模型并使用predict()方法预测z的值。最后,我们打印出预测的z值。 注意,这个例子中我们只用了x和y来训练模型,然后用模型来预测z的值。如果你想要使用x、y和z来训练模型,可以将它们合并成一个输入数组,如下所示: ``` python import numpy as np from sklearn.linear_model import LinearRegression # 创建输入和输出数组 x = np.array([1, 2, 3, 4, 5]).reshape((-1, 1)) y = np.array([2, 4, 6, 8, 10]) z = np.array([6, 7, 8, 9, 10]) inputs = np.concatenate((x, y.reshape((-1, 1))), axis=1) # 创建线性回归对象 model = LinearRegression() # 训练模型 model.fit(inputs, z) # 预测 z z_pred = model.predict(np.array([[6, 12]])) print(z_pred) ``` 在这个例子中,我们将x和y合并成一个输入数组inputs,并用inputs和z训练模型。我们使用predict()方法预测z的值,需要传递一个形状为(1, 2)的数组,其中第一个元素是x的值,第二个元素是y的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值