import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, classification_report, roc_curve, auc from sklearn.impute import SimpleImputer from sklearn.preprocessing import StandardScaler, LabelEncoder from sklearn.svm import SVC import matplotlib.pyplot as plt 123456789
1.加载并清洗数据
# 1. 数据预处理 # 加载训练数据集(假设训练数据集文件名为 iris_train.csv) train_df = pd.read_csv('./data/iris_train.csv') # 数据清洗:检查缺失值和异常值 # 鸢尾花数据集通常没有缺失值和异常值,这里仅作为示例 train_df_cleaned = train_df.dropna() # 删除缺失值 # 特征选择:选择所有特征 X_train = train_df_cleaned.drop(columns=['Species']) # 标签列名为 'species' y_train = train_df_cleaned['Species'] # 数据标准化/归一化 scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) #数据保存 preprocessed_train_data = pd.concat([pd.DataFrame(X_train_scaled, columns=X_train.columns), pd.Series(y_train, name='species')], axis=1) preprocessed_train_data.to_csv('./output/cleaned_train_data.csv', index=False)
1234567891011121314151617182.建模、训练
# 2. 建模及模型训练 # 选择模型:支持向量机(SVM) model = SVC(kernel='linear', random_state=42) # 模型训练 model.fit(X_train_scaled, y_train) # 计算训练集上的准确率 train_accuracy = model.score(X_train_scaled, y_train) print(f"训练集准确率: {train_accuracy:.2f}") 12345678910
3.模型推理
# 3. 模型推理 # 加载验证数据集(假设验证数据集文件名为 iris_val.csv) val_df = pd.read_csv('./data/iris_test.csv') # 数据清洗:检查缺失值和异常值 val_df_cleaned = val_df.dropna() # 删除缺失值 # 特征选择:选择所有特征 X_val = val_df_cleaned.drop(columns=['Species']) # 标签列名为 'species' # 数据标准化/归一化 X_val_scaled = scaler.transform(X_val) # 模型推理 y_pred = model.predict(X_val_scaled) 123456789101112131415
4.保存结果
# 保存推理结果 results = pd.DataFrame({'Sample_ID': range(len(y_pred)), 'Predicted_Species': y_pred}) results.to_csv('./output/test_data_predictions.csv', index=False) 123
5.编辑json
import pandas as pd import json df = pd.read_csv('./data/msr_paraphrase_train.txt',sep='t',on_bad_lines='skip') df.tail() # 构建一个指令 instruction="Determine whether two sentences are semantically equivalent. If equivalent, output '1'; If not equivalent, output '0'." # 创建一个空列表来存储转换后的数据 alpaca_data = [] for index, row in df.iterrows(): # 创建一个字典来存储当前行的数据 data_point = { "instruction": instruction, "input": f"Sentence 1: {row['#1 String']}n Sentence 2: {row['#2 String']}", "output": str(row['Quality']) } # 将字典添加到列表中 alpaca_data.append(data_point) # 将列表转换为JSON字符串 alpaca_json = json.dumps(alpaca_data, indent=4) alpaca_data[-1] #保存到文件 with open('./output/MRPC_train_data.json', 'w') as f: f.write(alpaca_json)
1234567891011121314151617181920212223246.打开bash
llamafactory-cli train --stage sft --do_train True --model_name_or_path /home/public/data/Model/Qwen1.5-1.8B-Chat --preprocessing_num_workers 16 --finetuning_type lora --template qwen --flash_attn auto --dataset_dir data --dataset MRPC_train_data --cutoff_len 1024 --learning_rate 5e-05 --num_train_epochs 3.0 --max_samples 100000 --per_device_train_batch_size 2 --gradient_accumulation_steps 8 --lr_scheduler_type cosine --max_grad_norm 1.0 --logging_steps 5 --save_steps 100 --warmup_steps 0 --packing False --report_to none --output_dir saves/Qwen1.5-1.8B-Chat/lora/test_train1 --bf16 True --plot_loss True --ddp_timeout 180000000 --optim adamw_torch --lora_rank 8 --lora_alpha 16 --lora_dropout 0 --lora_target all
1234567891011121314151617181920212223242526272829303132相关知识
用svm进行鸢尾花分类
第一个机器学习项目(鸢尾花分类问题)
基于花授粉算法优化实现SVM数据分类
鸢尾花分类
使用神经网络模型进行鸢尾花分类 matlab神经网络分类鸢尾花
【机器学习】鸢尾花分类:机器学习领域经典入门项目实战
神经网络与深度学习(五)前馈神经网络(3)鸢尾花分类
基于SVM机器学习的植物病虫害检测方法.pdf
【机器学习】鸢尾花分类
Knn算法实现鸢尾花分类
网址: 使用SVM进行鸢尾花分类7 https://m.huajiangbk.com/newsview387291.html
上一篇: 描写鸢尾花的优美句子(合集12句 |
下一篇: 深度学习—鸢尾花分类—注意力机制 |