Skip to content

Instantly share code, notes, and snippets.

@cdwijayarathna
Created May 21, 2020 03:15
Show Gist options
  • Save cdwijayarathna/1a024e69e6c3398856bd92b94b06161d to your computer and use it in GitHub Desktop.
Save cdwijayarathna/1a024e69e6c3398856bd92b94b06161d to your computer and use it in GitHub Desktop.
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn import preprocessing
import pandas as pd
import numpy as np
from statistics import mean
from sklearn.ensemble import RandomForestClassifier
#Read the csv file into dataframe
df=pd.read_csv('feature.csv', header=0)
#labels = np.array(df.Condition)
#print(df.values)
#filter out unwanted columns
#All features - 179??
df1=df[['Condition', 'HR', 'RMSSD', 'SCL', 'Squality', 'Sneutral', 'Shappy', 'Ssad', 'Sangry', 'Ssurprised', 'Sscared', 'Sdisgusted', 'Svalence', 'SyHeadOrientation', 'SxHeadOrientation', 'SzHeadOrientation', 'SmouthOpen', 'SleftEyeClosed', 'SrightEyeClosed', 'SleftEyebrowLowered', 'SleftEyebrowRaised', 'SrightEyebrowLowered', 'SrightEyebrowRaised', 'SgazeDirectionForward', 'SgazeDirectionLeft', 'SgazeDirectionRight', 'SAu01_InnerBrowRaiser', 'SAu02_OuterBrowRaiser', 'SAu04_BrowLowerer', 'SAu05_UpperLidRaiser', 'SAu06_CheekRaiser', 'SAu07_LidTightener', 'SAu09_NoseWrinkler', 'SAu10_UpperLipRaiser', 'SAu12_LipCornerPuller', 'SAu14_Dimpler', 'SAu15_LipCornerDepressor', 'SAu17_ChinRaiser', 'SAu20_LipStretcher', 'SAu23_LipTightener', 'SAu24_LipPressor', 'SAu25_LipsPart', 'SAu26_JawDrop', 'SAu27_MouthStretch', 'SAu43_EyesClosed', 'SnMouseAct', 'SnLeftClicked', 'SnRightClicked', 'SnDoubleClicked', 'SnWheel', 'SnDragged', 'SnMouseDistance', 'SnKeyStrokes', 'SnChars', 'SnSpecialKeys', 'SnDirectionKeys', 'SnErrorKeys', 'SnShortcutKeys', 'SnSpaces', 'SnAppChange', 'SnTabfocusChange', 'CharactersRatio', 'ErrorKeyRatio', 'avgDepthavg', 'leftShoulderAngleavg', 'rightShoulderAngleavg', 'leanAngleavg', 'HipCenter_SpineSpine_ShoulderCenteravg', 'Spine_ShoulderCenterShoulderCenter_Headavg', 'Spine_ShoulderCenterShoulderCenter_ShoulderLeftavg', 'Spine_ShoulderCenterShoulderCenter_ShoulderRightavg', 'ShoulderCenter_ShoulderLeftShoulderLeft_ElbowLeftavg', 'ShoulderLeft_ElbowLeftElbowLeft_WristLeftavg', 'ElbowLeft_WristLeftWristLeft_HandLeftavg', 'ShoulderCenter_ShoulderRightShoulderRight_ElbowRightavg', 'ShoulderRight_ElbowRightElbowRight_WristRightavg', 'ElbowRight_WristRightWristRight_HandRightavg', 'HipCenter_SpinePlaneZXAxisXavg', 'HipCenter_SpinePlaneXYAxisYavg', 'HipCenter_SpinePlaneYZAxisZavg', 'Spine_ShoulderCenterPlaneZXAxisXavg', 'Spine_ShoulderCenterPlaneXYAxisYavg', 'Spine_ShoulderCenterPlaneYZAxisZavg', 'ShoulderCenter_HeadPlaneZXAxisXavg', 'ShoulderCenter_HeadPlaneXYAxisYavg', 'ShoulderCenter_HeadPlaneYZAxisZavg', 'ShoulderCenter_ShoulderLeftPlaneZXAxisXavg', 'ShoulderCenter_ShoulderLeftPlaneXYAxisYavg', 'ShoulderCenter_ShoulderLeftPlaneYZAxisZavg', 'ShoulderCenter_ShoulderRightPlaneZXAxisXavg', 'ShoulderCenter_ShoulderRightPlaneXYAxisYavg', 'ShoulderCenter_ShoulderRightPlaneYZAxisZavg', 'ShoulderLeft_ElbowLeftPlaneZXAxisXavg', 'ShoulderLeft_ElbowLeftPlaneXYAxisYavg', 'ShoulderLeft_ElbowLeftPlaneYZAxisZavg', 'ElbowLeft_WristLeftPlaneZXAxisXavg', 'ElbowLeft_WristLeftPlaneXYAxisYavg', 'ElbowLeft_WristLeftPlaneYZAxisZavg', 'WristLeft_HandLeftPlaneZXAxisXavg', 'WristLeft_HandLeftPlaneXYAxisYavg', 'WristLeft_HandLeftPlaneYZAxisZavg', 'ShoulderRight_ElbowRightPlaneZXAxisXavg', 'ShoulderRight_ElbowRightPlaneXYAxisYavg', 'ShoulderRight_ElbowRightPlaneYZAxisZavg', 'ElbowRight_WristRightPlaneZXAxisXavg', 'ElbowRight_WristRightPlaneXYAxisYavg', 'ElbowRight_WristRightPlaneYZAxisZavg', 'WristRight_HandRightPlaneZXAxisXavg', 'WristRight_HandRightPlaneXYAxisYavg', 'WristRight_HandRightKinectZAxisavg', 'avgDepthstdv', 'leftShoulderAnglestdv', 'rightShoulderAnglestdv', 'leanAnglestdv', 'HipCenter_SpineSpine_ShoulderCenterstdv', 'Spine_ShoulderCenterShoulderCenter_Headstdv', 'Spine_ShoulderCenterShoulderCenter_ShoulderLeftstdv', 'Spine_ShoulderCenterShoulderCenter_ShoulderRightstdv', 'ShoulderCenter_ShoulderLeftShoulderLeft_ElbowLeftstdv', 'ShoulderLeft_ElbowLeftElbowLeft_WristLeftstdv', 'ElbowLeft_WristLeftWristLeft_HandLeftstdv', 'ShoulderCenter_ShoulderRightShoulderRight_ElbowRightstdv', 'ShoulderRight_ElbowRightElbowRight_WristRightstdv', 'ElbowRight_WristRightWristRight_HandRightstdv', 'HipCenter_SpinePlaneZXAxisXstdv', 'HipCenter_SpinePlaneXYAxisYstdv', 'HipCenter_SpinePlaneYZAxisZstdv', 'Spine_ShoulderCenterPlaneZXAxisXstdv', 'Spine_ShoulderCenterPlaneXYAxisYstdv', 'Spine_ShoulderCenterPlaneYZAxisZstdv', 'ShoulderCenter_HeadPlaneZXAxisXstdv', 'ShoulderCenter_HeadPlaneXYAxisYstdv', 'ShoulderCenter_HeadPlaneYZAxisZstdv', 'ShoulderCenter_ShoulderLeftPlaneZXAxisXstdv', 'ShoulderCenter_ShoulderLeftPlaneXYAxisYstdv', 'ShoulderCenter_ShoulderLeftPlaneYZAxisZstdv', 'ShoulderCenter_ShoulderRightPlaneZXAxisXstdv', 'ShoulderCenter_ShoulderRightPlaneXYAxisYstdv', 'ShoulderCenter_ShoulderRightPlaneYZAxisZstdv', 'ShoulderLeft_ElbowLeftPlaneZXAxisXstdv', 'ShoulderLeft_ElbowLeftPlaneXYAxisYstdv', 'ShoulderLeft_ElbowLeftPlaneYZAxisZstdv', 'ElbowLeft_WristLeftPlaneZXAxisXstdv', 'ElbowLeft_WristLeftPlaneXYAxisYstdv', 'ElbowLeft_WristLeftPlaneYZAxisZstdv', 'WristLeft_HandLeftPlaneZXAxisXstdv', 'WristLeft_HandLeftPlaneXYAxisYstdv', 'WristLeft_HandLeftPlaneYZAxisZstdv', 'ShoulderRight_ElbowRightPlaneZXAxisXstdv', 'ShoulderRight_ElbowRightPlaneXYAxisYstdv', 'ShoulderRight_ElbowRightPlaneYZAxisZstdv', 'ElbowRight_WristRightPlaneZXAxisXstdv', 'ElbowRight_WristRightPlaneXYAxisYstdv', 'ElbowRight_WristRightPlaneYZAxisZstdv', 'WristRight_HandRightPlaneZXAxisXstdv', 'WristRight_HandRightPlaneXYAxisYstdv', 'WristRight_HandRightKinectZAxisstdv']]
#3 Physilogocal features
#df1=df[['Condition', 'HR', 'RMSSD', 'SCL']]
#40 Facial features
#df1=df[['Condition', 'Squality', 'Sneutral', 'Shappy', 'Ssad', 'Sangry', 'Ssurprised', 'Sscared', 'Sdisgusted', 'Svalence', 'SyHeadOrientation', 'SxHeadOrientation', 'SzHeadOrientation', 'SmouthOpen', 'SleftEyeClosed', 'SrightEyeClosed', 'SleftEyebrowLowered', 'SleftEyebrowRaised', 'SrightEyebrowLowered', 'SrightEyebrowRaised', 'SgazeDirectionForward', 'SgazeDirectionLeft', 'SgazeDirectionRight', 'SAu01_InnerBrowRaiser', 'SAu02_OuterBrowRaiser', 'SAu04_BrowLowerer', 'SAu05_UpperLidRaiser', 'SAu06_CheekRaiser', 'SAu07_LidTightener', 'SAu09_NoseWrinkler', 'SAu10_UpperLipRaiser', 'SAu12_LipCornerPuller', 'SAu14_Dimpler', 'SAu15_LipCornerDepressor', 'SAu17_ChinRaiser', 'SAu20_LipStretcher', 'SAu23_LipTightener', 'SAu24_LipPressor', 'SAu25_LipsPart', 'SAu26_JawDrop', 'SAu27_MouthStretch', 'SAu43_EyesClosed']]
#posture features -93??
#df1=df[['Condition', 'avgDepthavg', 'leftShoulderAngleavg', 'rightShoulderAngleavg', 'leanAngleavg', 'HipCenter_SpineSpine_ShoulderCenteravg', 'Spine_ShoulderCenterShoulderCenter_Headavg', 'Spine_ShoulderCenterShoulderCenter_ShoulderLeftavg', 'Spine_ShoulderCenterShoulderCenter_ShoulderRightavg', 'ShoulderCenter_ShoulderLeftShoulderLeft_ElbowLeftavg', 'ShoulderLeft_ElbowLeftElbowLeft_WristLeftavg', 'ElbowLeft_WristLeftWristLeft_HandLeftavg', 'ShoulderCenter_ShoulderRightShoulderRight_ElbowRightavg', 'ShoulderRight_ElbowRightElbowRight_WristRightavg', 'ElbowRight_WristRightWristRight_HandRightavg', 'HipCenter_SpinePlaneZXAxisXavg', 'HipCenter_SpinePlaneXYAxisYavg', 'HipCenter_SpinePlaneYZAxisZavg', 'Spine_ShoulderCenterPlaneZXAxisXavg', 'Spine_ShoulderCenterPlaneXYAxisYavg', 'Spine_ShoulderCenterPlaneYZAxisZavg', 'ShoulderCenter_HeadPlaneZXAxisXavg', 'ShoulderCenter_HeadPlaneXYAxisYavg', 'ShoulderCenter_HeadPlaneYZAxisZavg', 'ShoulderCenter_ShoulderLeftPlaneZXAxisXavg', 'ShoulderCenter_ShoulderLeftPlaneXYAxisYavg', 'ShoulderCenter_ShoulderLeftPlaneYZAxisZavg', 'ShoulderCenter_ShoulderRightPlaneZXAxisXavg', 'ShoulderCenter_ShoulderRightPlaneXYAxisYavg', 'ShoulderCenter_ShoulderRightPlaneYZAxisZavg', 'ShoulderLeft_ElbowLeftPlaneZXAxisXavg', 'ShoulderLeft_ElbowLeftPlaneXYAxisYavg', 'ShoulderLeft_ElbowLeftPlaneYZAxisZavg', 'ElbowLeft_WristLeftPlaneZXAxisXavg', 'ElbowLeft_WristLeftPlaneXYAxisYavg', 'ElbowLeft_WristLeftPlaneYZAxisZavg', 'WristLeft_HandLeftPlaneZXAxisXavg', 'WristLeft_HandLeftPlaneXYAxisYavg', 'WristLeft_HandLeftPlaneYZAxisZavg', 'ShoulderRight_ElbowRightPlaneZXAxisXavg', 'ShoulderRight_ElbowRightPlaneXYAxisYavg', 'ShoulderRight_ElbowRightPlaneYZAxisZavg', 'ElbowRight_WristRightPlaneZXAxisXavg', 'ElbowRight_WristRightPlaneXYAxisYavg', 'ElbowRight_WristRightPlaneYZAxisZavg', 'WristRight_HandRightPlaneZXAxisXavg', 'WristRight_HandRightPlaneXYAxisYavg', 'WristRight_HandRightKinectZAxisavg', 'avgDepthstdv', 'leftShoulderAnglestdv', 'rightShoulderAnglestdv', 'leanAnglestdv', 'HipCenter_SpineSpine_ShoulderCenterstdv', 'Spine_ShoulderCenterShoulderCenter_Headstdv', 'Spine_ShoulderCenterShoulderCenter_ShoulderLeftstdv', 'Spine_ShoulderCenterShoulderCenter_ShoulderRightstdv', 'ShoulderCenter_ShoulderLeftShoulderLeft_ElbowLeftstdv', 'ShoulderLeft_ElbowLeftElbowLeft_WristLeftstdv', 'ElbowLeft_WristLeftWristLeft_HandLeftstdv', 'ShoulderCenter_ShoulderRightShoulderRight_ElbowRightstdv', 'ShoulderRight_ElbowRightElbowRight_WristRightstdv', 'ElbowRight_WristRightWristRight_HandRightstdv', 'HipCenter_SpinePlaneZXAxisXstdv', 'HipCenter_SpinePlaneXYAxisYstdv', 'HipCenter_SpinePlaneYZAxisZstdv', 'Spine_ShoulderCenterPlaneZXAxisXstdv', 'Spine_ShoulderCenterPlaneXYAxisYstdv', 'Spine_ShoulderCenterPlaneYZAxisZstdv', 'ShoulderCenter_HeadPlaneZXAxisXstdv', 'ShoulderCenter_HeadPlaneXYAxisYstdv', 'ShoulderCenter_HeadPlaneYZAxisZstdv', 'ShoulderCenter_ShoulderLeftPlaneZXAxisXstdv', 'ShoulderCenter_ShoulderLeftPlaneXYAxisYstdv', 'ShoulderCenter_ShoulderLeftPlaneYZAxisZstdv', 'ShoulderCenter_ShoulderRightPlaneZXAxisXstdv', 'ShoulderCenter_ShoulderRightPlaneXYAxisYstdv', 'ShoulderCenter_ShoulderRightPlaneYZAxisZstdv', 'ShoulderLeft_ElbowLeftPlaneZXAxisXstdv', 'ShoulderLeft_ElbowLeftPlaneXYAxisYstdv', 'ShoulderLeft_ElbowLeftPlaneYZAxisZstdv', 'ElbowLeft_WristLeftPlaneZXAxisXstdv', 'ElbowLeft_WristLeftPlaneXYAxisYstdv', 'ElbowLeft_WristLeftPlaneYZAxisZstdv', 'WristLeft_HandLeftPlaneZXAxisXstdv', 'WristLeft_HandLeftPlaneXYAxisYstdv', 'WristLeft_HandLeftPlaneYZAxisZstdv', 'ShoulderRight_ElbowRightPlaneZXAxisXstdv', 'ShoulderRight_ElbowRightPlaneXYAxisYstdv', 'ShoulderRight_ElbowRightPlaneYZAxisZstdv', 'ElbowRight_WristRightPlaneZXAxisXstdv', 'ElbowRight_WristRightPlaneXYAxisYstdv', 'ElbowRight_WristRightPlaneYZAxisZstdv', 'WristRight_HandRightPlaneZXAxisXstdv', 'WristRight_HandRightPlaneXYAxisYstdv', 'WristRight_HandRightKinectZAxisstdv']]
#Set condition access as index and assing 0 for non-stress and 1 for stress conditions.
df1=df1.set_index('Condition')
df1 = df1.drop('R', axis=0)
df1.index.set_value(df1.index, 'T', 'S')
df1.index.set_value(df1.index, 'I', 'S')
df1.index.set_value(df1.index, 'N', 'N')
#print(df1)
#print(df1.shape)
#assing 0 for missing values
df1=df1.fillna(df1.mean())
#print(preprocessing.scale(df1))
#set input and output for data
print(df1)
y = df1.index
x = preprocessing.scale(df1)
SVM = svm.SVC(kernel='rbf', C=1)
#clf=RandomForestClassifier(n_estimators=100)
scores = cross_val_score(SVM, x, y, cv=10, scoring='accuracy')
#print(round(SVM.score(X_test, y_test), 4))
print(scores)
print(mean(scores))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment