Created
May 21, 2020 03:15
-
-
Save cdwijayarathna/1a024e69e6c3398856bd92b94b06161d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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