SVM影像组学特征

近期做一个影像组学的分类模型

做的是一个胃癌T分期的模型,我刷选统计出一些胃癌区域的特征,如图:有癌症面积、体积等等

下面要做一个SVM(支持向量机)分类的模型,导入该文件,进行二分类,代码如下:

python 复制代码
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import classification_report, confusion_matrix

# 加载数据
data_path = '../data/data.xlsx'
data = pd.read_excel(data_path, sheet_name='class2T2_T34')

# 准备数据
X = data.drop(['Filename', 'label'], axis=1)  # 删除非特征列
y = data['label']  # 标签列

# 分割数据为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 特征缩放
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# 创建SVM分类器

# 线性核
# svm_classifier = SVC(kernel='linear', decision_function_shape='ovo')
# 多项式核(Polynomial Kernel)
svm_classifier = SVC(kernel='poly', degree=3, coef0=1, decision_function_shape='ovo')
# 径向基函数核(Radial Basis Function, RBF Kernel)
# svm_classifier = SVC(kernel='rbf', gamma='scale', decision_function_shape='ovo')
# Sigmoid核
# svm_classifier = SVC(kernel='sigmoid', coef0=1, decision_function_shape='ovo')


# 训练模型
svm_classifier.fit(X_train, y_train)

# 预测测试集结果
y_pred = svm_classifier.predict(X_test)

# 评估模型
print("Confusion Matrix:")
print(confusion_matrix(y_test, y_pred))
print("\nClassification Report:")
print(classification_report(y_test, y_pred))

运行结果如下:

可以看出能达到85%的准确度,说明模型能够很好的区分,需要注意,如果你的分类效果不理想,我的代码中给出了很多的核,试试不同的核运行的效果

相关推荐
没有梦想的咸鱼185-1037-16637 分钟前
基于R语言机器学习方法在生态经济学领域中的实践技术应用
开发语言·机器学习·数据分析·r语言
Webb Yu23 分钟前
Azure Databricks 实践:数据分析、机器学习、ETL 与 Delta Lake
机器学习·数据分析·azure
先做个垃圾出来………31 分钟前
差分数组(Difference Array)
java·数据结构·算法
君名余曰正则1 小时前
机器学习实操项目01——Numpy入门(基本操作、数组形状操作、复制与试图、多种索引技巧、线性代数)
线性代数·机器学习·numpy
hansang_IR1 小时前
【题解】洛谷 P4286 [SHOI2008] 安全的航线 [递归分治]
c++·数学·算法·dfs·题解·向量·点积
乐迪信息1 小时前
乐迪信息:AI摄像机在智慧煤矿人员安全与行为识别中的技术应用
大数据·人工智能·算法·安全·视觉检测
君名余曰正则1 小时前
机器学习04——决策树(信息增益、信息增益率、ID3、C4.5、CART、剪枝、连续值缺失值处理)
人工智能·决策树·机器学习
多恩Stone1 小时前
【3DV 进阶-2】Hunyuan3D2.1 训练代码详细理解下-数据读取流程
人工智能·python·算法·3d·aigc
Mendix2 小时前
使用 Altair RapidMiner 将机器学习引入您的 Mendix 应用程序
人工智能·机器学习