报错显示文件路径错误


import numpy
from numpy import *


def loadDataSet():
    dataMat = [];
    labelMat = []
    fr = open("D:/回归/testSet.txt")
    for line in fr.readlines():  # 按行读取整个文件
        lineArr = line.strip().split()  # 联合用法,按照一定的格式进行读取之后,进行划分(成列表),在进行首尾多余字符的删除
        # 以空格分隔split,并去掉空格strip
        dataMat.append([1.0, float(lineArr[0]), float(lineArr[1])])  # 1对应w0系数,第一列对应w1,第二列对应w2
        labelMat.append(int(lineArr[2]))  # 第三列标签
    return dataMat, labelMat


def sigmoid(inX):
    return 1.0 / (1 + numpy.exp(inX))


def gradAscent(dataMatIn, classLabels):
    dataMatrix = mat(dataMatIn)  # mat将列表转化维numpy的矩阵
    labelMat = mat(classLabels).transpose()  # transpose矩阵转置
    m, n = shape(dataMatrix)
    alpha = 0.001
    maxCycles = 500
    weights = ones(n, 1)
    for k in range(maxCycles):
        h = sigmoid(dataMatrix * weights)
        error = (labelMat - h)
        weights = weights + alpha * dataMatrix.transpose() * error
        return weights

报错(null): can't open file '': [Errno 2] No such file or directory
文本文件与代码放在同一个文件夹回归中

确认文本文件的确存在,并且文件名拼写正确。
确保文本文件与代码文件位于同一个文件夹中。
如果你在多个操作系统上运行代码(例如,在Windows和Linux上),请注意文件路径的格式是否正确。Windows使用反斜杠“\”,而Linux使用正斜杠“/”。

注意文件的权限问题,以及可以干掉中文测试一下,看是否中文的影响

根据您提供的代码和错误信息,出现错误的原因是找不到指定的文件。请确保您的代码文件和文本文件在同一个文件夹中,并且文件名为"testSet.txt",并且确保文件路径正确。

根据您提供的信息,您可以将以下代码段:


```python

fr = open("D:/回归/testSet.txt")
更改为:
fr = open("testSet.txt")

```
这将使用相对路径来打开与代码文件相同文件夹中的"testSet.txt"文件。如果仍然出现错误,请检查文件名和路径是否正确,并确保代码文件和文本文件在同一个文件夹中。

根据以上给出的信息,你这里使用的是绝对路径。只能check下 "D:/回归/testSet.txt" 是否真的存在。路径没问题的话,可以尝试将文件放到一个全英文的路径下试试。

另外,你这里打开文件后,没有进行主动关闭,是存在问题的。建议:

def loadDataSet():
    dataMat = [];
    labelMat = []
    with open("D:/回归/testSet.txt") as fr:
        for line in fr.readlines():  # 按行读取整个文件
            lineArr = line.strip().split()  # 联合用法,按照一定的格式进行读取之后,进行划分(成列表),在进行首尾多余字符的删除
            # 以空格分隔split,并去掉空格strip
            dataMat.append([1.0, float(lineArr[0]), float(lineArr[1])])  # 1对应w0系数,第一列对应w1,第二列对应w2
            labelMat.append(int(lineArr[2]))  # 第三列标签
    return dataMat, labelMat


D:/回归/testSet.txt,看下你这目录下到底有没有这个文件