Pop_OS下VSC运行Python代码读取下载目录数据集报FileNotFoundError如何解决
问题排查与修复方案
1. 文件路径拼写错误
你当前代码中读取文件的路径末尾多了一个多余的英文句号,是触发FileNotFoundError的核心原因:
错误写法:
df= pd.read_csv('/home/morgankemp/Downloads/parkinsons.data.')
删除路径末尾多余的.即可匹配到真实文件parkinsons.data。如果修改后仍报错,可以在读取文件前加入以下代码验证路径与文件是否匹配:
import os target_path = "/home/morgankemp/Downloads/parkinsons.data" print(os.path.exists(target_path)) # 输出True说明路径正确,输出False需要核对文件实际存储位置 # 打印下载目录下所有文件,确认文件名是否拼写正确 print(os.listdir("/home/morgankemp/Downloads"))
2. 缺失函数导入
你的代码末尾调用了accuracy_score计算准确率,但没有提前导入该函数,路径问题修复后运行仍会抛出名称错误,需要在导入部分新增一行代码:
from sklearn.metrics import accuracy_score
修正后可直接运行的完整代码
import numpy as np import pandas as pd import os, sys from sklearn.preprocessing import MinMaxScaler from xgboost import XGBClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 新增缺失的导入 #DataFlair - Read the data df= pd.read_csv('/home/morgankemp/Downloads/parkinsons.data') df.head() #DataFlair - Get the features and labels features=df.loc[:,df.columns!='status'].values[:,1:] labels=df.loc[:,'status'].values #DataFlair - Get the count of each label (0 and 1) in labels print(labels[labels==1].shape[0], labels[labels==0].shape[0]) #DataFlair - Scale the features to between -1 and 1 scaler=MinMaxScaler((-1,1)) x=scaler.fit_transform(features) y=labels #DataFlair - Split the dataset x_train,x_test,y_train,y_test=train_test_split(x, y, test_size=0.2, random_state=7) #DataFlair - Train the model model=XGBClassifier() model.fit(x_train,y_train) # DataFlair - Calculate the accuracy y_pred=model.predict(x_test) print(accuracy_score(y_test, y_pred)*100)
内容的提问来源于stack exchange,提问作者780_APM
相关产品推荐
相关产品推荐

