网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月08日漏签0天
python吧 关注:474,495贴子:1,966,929
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 8回复贴,共1页
<<返回python吧
>0< 加载中...

刚开始用python,以前用的按键精灵,这识图不都是BMP格式的??

  • 只看楼主
  • 收藏

  • 回复
  • 贴吧用户_J5NRM6J818
  • 秀才
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 贴吧用户_J5NRM6J818
  • 秀才
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
end.jpg是图片,上面的r'scsshi shenm ,是路径嘛?


2025-06-08 19:33:56
广告
  • 贴吧用户_JJAb6tb957
  • 白丁
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
按键你用的大漠插件?
python用cv2找图可以用jpg格式
r加在python字符串是原始输入,那个文件路径斜杠有时会成转义字符,你懂的


  • 贴吧用户_GAAyW9K
  • 白丁
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
import os
import numpy as np
from PIL import Image
from sklearn import svm
from sklearn.model_selection import train_test_split
# 定义函数读取图像数据
def load_images_from_folder(folder):
images=[]
for filenames in os.listdir(folder):
img = Image.open(os.path.join(folder,filenames))
img = img.resize((64,64))
if img is not None:
images.append(np.array(img).flatten())
return images
X = [] #储存图像数据
y = [] #储存图像标签
root_folder = r"D:\机器学习第三次作业\UCMerced_LandUse\Images" #指定根文件夹路径
for i, foldername in enumerate(os.listdir(root_folder)): #enumerate 函数获取每个子文件夹的索引 i 和文件夹名 foldername
images = load_images_from_folder(os.path.join(root_folder, foldername)) #调用 load_images_from_folder 函数加载指定文件夹中的图像数据
X.extend(images)
y.extend([i] * len(images)) #得到一个长度与当前文件夹图像数量相同的标签列表
# 将数据转换为NumPy数
X = np.array(X)
y = np.array(y)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练SVM模型
clf = svm.SVC(C = 3.0,max_iter=200)
clf.fit(X_train,y_train,sample_weight=None)
# 在测试集上进行预测
predictions = clf.predict(X_test)
for i, prediction in enumerate(predictions): #调用 enumerate函数
print(f"样本 {i+1}: 预测类别为 {prediction}, 实际类别为 {y_test[i]}")
# 计算准确率
accuracy = clf.score(X_test, y_test)
print("准确率:", accuracy)


  • 贴吧用户_GAAyW9K
  • 白丁
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
import os
import numpy as np
from pathlib import Path
from sklearn import svm
from sklearn import preprocessing
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
#数据存放地址
arr_path = Path('D:/机器学习第三次作业/data')#路径分隔符号/or\\
#获取子文件路径
l = list(arr_path.iterdir())#遍历子文件路径
# print(l)
all_file_list = []#用list存放npy文件的地址
all_label_list = []#用list存放npy文件的标签,标签为子文件的名称(建议给子文件夹取名为0,1,2,...)
for i in l:
print(f'i==={i}')
temp_file_list = list(i.glob("**/*.npy"))#返回所有npy文件的地址的list
temp_label_list = [int(i.name)]*len(temp_file_list)#生成list[],[1]*3=[1,1,1]以此类推
print(f'{int(i.name)}含有样本数量:{len(temp_file_list)}')
print(temp_file_list)
#子文件路径
all_file_list += temp_file_list
#子文件标签
all_label_list += temp_label_list
# folder_list.append(str(i.name))
all_data = list(zip(all_file_list,all_label_list))
# print(all_data[:10])
data_x = []#用list存放npy文件的数值变量
data_y = []#用list存放label
#按照路径读取numpy数组
for i in range(len(all_data)):
arr = np.load(all_data[i][0])
'''
# print(arr.shape)
# print(all_data[i][1])
# if i >10:
# break
# data_x.append(arr.reshape(5,224,224))
'''
data_x.append(arr)
data_y.append(all_data[i][1])
# print(data_x[:5],data_y[:5])
#svm需要的数据类型为numpy.array,上面用的是list存放数据,所以要把list变成array
data_feature = np.array(data_x)
data_label = np.array(data_y)
data_feature = data_feature.reshape(1060,-1)
# 数据归一(可以比较一下归一化对分类结果是否有影响)
data_feature = preprocessing.MinMaxScaler().fit_transform(data_feature)
X_train, X_test, y_train, y_test = train_test_split(data_feature, data_label, test_size=0.3, random_state=1000)
predictor = svm.SVC(gamma='scale', C=1.0,max_iter = 1000)
# 进行训练
predictor.fit(X_train, y_train)
#
predictions_labels = predictor.predict(X_train)
print(classification_report(y_train, predictions_labels))
predictions_labels = predictor.predict(X_test)
print(classification_report(y_test, predictions_labels))


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 8回复贴,共1页
<<返回python吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示