欢迎光临散文网 会员登陆 & 注册

量化软件下载:赫兹股票量化软件逻辑回归

2023-08-17 13:34 作者:大牛啊呢  | 我要投稿

清理我们的数据

在此,我们通过删除 NaN(缺失)值来清理数据,同时避免/删除数据集合中不必要的列。

运用逻辑回归,您需要具有双精度和整数值,因此您必须避免无意义的字符串值。在这种情况下,我们将忽略以下列:

  • Name 列 (它的信息没有任何有意义)

  • Ticket 列 (对事故的幸存没有任何意义)

  • Cabin 列 (它有太多的缺失值,即使前 5 行也表现如此)

  • Embarked (我认为这无关紧要)

为此,我将在 WPS office 中打开 CSV 文件,并手动删除这些列,您可以用您所选的任何电子表格程序。

经由电子表格删除这些列后,我们就来可视化新数据。

new_data = pd.read_csv(r'C:\Users\Omega Joctan\AppData\Roaming\MetaQuotes\Terminal\892B47EBC091D6EF95E3961284A76097\MQL5\Files\titanic.csv') new_data.head(5)

输出:


编辑切换为居中

我们现已清理数据完毕,但在年龄列中仍然有缺失的数值,更不用说在性别列中还有字符串值。 我们需通过一些代码来解决这个问题。 我们来创建一个标签编码器,将字符串男性和女性分别转换为 0 和 1。


void CLogisticRegression::LabelEncoder(string &src[],int &EncodeTo[],string members="male,female") {   string MembersArray[];   ushort separator = StringGetCharacter(m_delimiter,0);   StringSplit(members,separator,MembersArray); //convert members list to an array   ArrayResize(EncodeTo,ArraySize(src)); //make the EncodeTo array same size as the source array        int binary=0;      for(int i=0;i<ArraySize(MembersArray);i++) // loop the members array        {           string val = MembersArray[i];           binary = i; //binary to assign to a member           int label_counter = 0;                     for (int j=0; j<ArraySize(src); j++)              {                string source_val = src[j];                 if (val == source_val)                   {                    EncodeTo[j] = binary;                    label_counter++;                   }              }           Print(MembersArray[binary]," total =",label_counter," Encoded To = ",binary);        } }


量化软件下载:赫兹股票量化软件逻辑回归的评论 (共 条)

分享到微博请遵守国家法律