男声女声分类识别SVM
内容为对测试集中声音数据进行性别预测,测试文件夹中有951行数据
数据类别一共两类:female、male
推荐使用SVM分类,也可使用其他如决策树等方法分类
在jupyterlab中将识别结果写入文件 /home/ilab/submission
每行输出id号(第一列数据)+'\t'+ female或者是male(不要改变测试集顺序)
例如:
6 female
7 male
8 male
9 female
代码:评分91.3
import pandas as pd
import numpy as np
from sklearn import svm
from sklearn import model_selection
import matplotlib.pyplot as plt
import matplotlib as mpltrain_data = pd.read_csv('/ilab/datasets/local/voice/train.csv')#导入数据集
test = pd.read_csv('/ilab/datasets/local/voice/test.csv')
train = train_data.values.tolist() #转化成列表
test1 = test.values.tolist()
ss1 = {'male':0, 'female':1} #设置标签
ss2 = {}
a = -1
yy= []
for i in train: #一共二十列变量,逐个分析a = a + 1i[21] = ss1[i[21]]yy.append(i[21])i.pop(21)
train = np.mat(train)
train2 = train[:, 1:3]
test = np.mat(test)
test1 = test[:,1:3]yy = np.array(yy)
print(train)
def classifier():clf = svm.SVC(C=0.5, # 误差惩罚系数,默认1kernel='linear', # 线性核decision_function_shape='ovr') # 决策函数return clf
clf = classifier()
print(yy)
def train1(clf, x_train, y_train):clf.fit(x_train, # 训练集特征向量y_train.ravel()) # 训练集目标值# 训练SVM 模型
train2 = train[:, 1:19]
test1 = test[:, 1:19]
print(test1)
train1(clf, train2, yy)ha = clf.predict(test1)
# 读取test.csv文件,输出submissionimport pandas as pd# 将id读取
test = pd.read_csv('/ilab/datasets/local/voice/test.csv')
test_sub = test.iloc[:, [0]]
# 训练出来性别
gender = []
for i in range(len(test_sub)):if ha[i] == 1:gender.append('female')else:gender.append('male')
print(gender)
df_gender = pd.DataFrame(gender)
# 将id列和预测出来的性别列拼接并输出submission文件
df=pd.concat([test_sub,df_gender],axis=1)
df.to_csv('/home/ilab/submission', sep='\t', header=None, index=False)
男声女声分类识别SVM相关推荐
- 男声女声分类之SVM
男声女声分类之svm 目录 男声女声分类之svm svc 数据 模型构建预测 svc 1.支撑向量机SVM是一种非常重要和广泛的机器学习算法,它的算法出发点是尽可能找到最优的决策边界,使得模型的泛化能 ...
- 机器学习 实验二 男声女声分类
机器学习 实验二 男声女声分类 一.实验环境 PC机,Python 二.代码 #%%import pandas as pd from sklearn.preprocessing import Stan ...
- 语音识别之男女声分类(从一段对话中分离男声)
目录 0 引言 1 思路 2 代码 (1)主函数 (2)子函数judge.m 3 代码运行结果 4 结论 5 参考资料 0 引言 前段时间,朋友让我帮忙剪十段音频,每段音频为约十分 ...
- MADlib——基于SQL的数据挖掘解决方案(23)——分类之SVM
一.SVM简介 SVM法即支持向量机(Support Vector Machine,SVM)法,由Vapnik等人于1995年提出,具有相对优良的性能指标.该方法是建立在统计学理论基础上的机器学习方法 ...
- 语音信号处理(1):男女声在线识别系统(倒谱、基音频率)
语音信号处理是挺有意思的,尤其是在人工智能横行的今天.不过就我看来,现在整个社会上明显对人工智能的作用过于夸大了,大多数写报道和搞炒作宣传的人基本不懂人工智能.尘世若此,其实又何止是在人工智能上 ...
- LabVIEW色彩分类识别(基础篇—15)
色彩分类(Color Classification)用于根据样本的颜色信息对其进行分类识别.与单色目标的分类识别类似,色彩分类过程也包括训练和分类两个阶段. 训练阶段主要用来基于各种彩色样本创建分类器 ...
- DL之VGG16:基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型)
DL之VGG16:基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型) 目录 基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型) 设计思路 输出结果 1488/1 ...
- DL之AlexNet:利用卷积神经网络类AlexNet实现猫狗分类识别(图片数据增强→保存h5模型)
DL之AlexNet:利用卷积神经网络类AlexNet实现猫狗分类识别(图片数据增强→保存h5模型) 目录 利用卷积神经网络类AlexNet实现猫狗分类识别(图片数据增强→保存h5模型) 设计思路 处 ...
- 三、ResNet50预置算法提高美食分类识别精确度
@Author:Runsen @Date:2020/5/21 上次,华为云ModelArts零代码实现美食分类识别,但是在精确度在并不理想. 这次,我使用ResNet50算法,这是什么东西,不用管. ...
最新文章
- 详解通用物体检测算法:基于锚框与无需锚框
- 【机器视觉】 break算子
- php代码加注释_怎么在php中添加注释
- Java 对象的序列化
- (69)信号发生器DDS正弦波设计(一)(第14天)
- Java的设计模式 之 简单的工厂模式(一)
- 别信了大佬的“鬼话”,想造无人驾驶到底进展如何吗?
- sql 获取日期时分秒_SQL获取系统年月日时分秒 | 学步园
- idea下载Mybatis插件
- 学习C语言编程,推荐你看这6本书
- 如果北京的房价下跌,到底能跌多少?
- 网络共享计算机无法登录,局域网共享文件夹访问无法出现用户登陆窗口怎么办?...
- 行列式【线性代数系列(一)】
- ae制h5文字动画_绝对干货!H5动画制作方法全揭秘
- HashMap源码学习——初探
- [轻笔记]Pytorch语义分割输出转换为图像显示
- oracle sql 动态参数,sql – 具有动态参数的Oracle Lag函数
- 阿里Java岗P5-P7成长笔记【3283页PDF文档免费领】
- 文件和文件夹操作——文件操作实列
- 精读《web reflow》