The problem of synthesizing adequate inductive invariants lies at the heart of automated software verification. With the rapid development of artificial intelligence, the state- of-the-art machine learning algorithms for invariants synthesis have gradually been developed and have shown its excellent performance. However, when positive samples are distributed among multiple clusters, the algorithm for intersection of half space based on SVM can not generate the candidate invariants. In order to solve this problem, a new modified algorithm, based on and k-means++ and SVM, is proposed. After sampling, our algorithm adopts k-means++ to cluster the positive samples. Then this algorithm uses SVM to distinguish each positive sample cluster from all negative samples to compute the candidate invariants. Finally, a set of theories founded on Hoare logic are adopted to check whether the candidate invariants are true invariants. If the check succeeds, the true invariants have been found. Otherwise, we should collect more samples and repeat our algorithm. Experimental results show that our algorithm can compute the candidate invariants when positive samples are distributed among multiple clusters.